Skip to content

Ashutosh0602/SPOT-backend

Repository files navigation

SPOT

Description

Introducing SPOT: Your Key to Unlocking a Car on Every Corner

Need a car for a few hours? SPOT has you covered.

SPOT is a revolutionary car-sharing platform that connects car owners with renters, empowering both to make the most of their vehicles and their time. Whether you're looking for a quick ride across town or a weekend getaway, SPOT puts you in the driver's seat.

Here's how it works:

For Renters:

Find the perfect car: Browse a diverse selection of cars in your area, filtering by location, price, and features to match your needs. Book on the spot: Reserve a car by the hour, with no long-term commitments or hidden fees. Unlock with ease: Use the SPOT app to locate and unlock your car seamlessly. Drive and enjoy: Hit the road with confidence, knowing that insurance and roadside assistance are included. For Owners:

Turn idle time into income: List your car when you're not using it and earn extra cash. Flexibility at your fingertips: Easily list or delist your car as your schedule changes. Stay in control: Track your car's location and rental status in real-time through the SPOT app. Peace of mind guaranteed: SPOT handles insurance, payment processing, and renter screening for you. Unlock a world of possibilities with SPOT:

Save money on car ownership Reduce traffic congestion and emissions Experience the convenience of car access without the commitment Enjoy a variety of cars to suit your every need Build a community of shared mobility Join the SPOT revolution and start sharing the ride today!

Technology Stack:

Frontend:

TypeScript: Ensures type safety, code maintainability, and a smooth development experience. React Native: Delivers a performant, cross-platform mobile app for both iOS and Android, providing native-like user experiences.

Backend:

NestJS: A robust Node.js framework that promotes structured code, scalability, and efficient development of RESTful APIs.

Databases:

MongoDB: A flexible NoSQL database adept at handling diverse data structures, ideal for storing car listings, user profiles, and rental information. Redis GeoSpatial: Find nearby cars instantly for a faster, smoother renting experience. Redis powers location searches, connecting you to the perfect car in a flash.

Real-Time Features:

Firebase Realtime Database (RTDS): Enables real-time updates and synchronization of critical data, such as car availability, rental status, and user locations, for a seamless experience.

Performance Optimization:

Redis Caching: Dramatically improves app responsiveness and reduces server load by caching frequently used data in memory. MongoDB Indexing: Strategically designed indexes accelerate data retrieval and streamline query execution. Firebase RTDS: Minimizes latency and ensures instant updates for a fluid user experience.

Additional Benefits:

TypeScript: Contributes to code reliability and reduces potential runtime errors. NestJS: Fosters code organization, testability, and maintainability. MongoDB's Flexibility: Accommodates future feature additions and data model evolution. Redis' Speed: Complements MongoDB for lightning-fast data access. Firebase RTDS' Scalability: Seamlessly handles real-time interactions as the app's user base grows.

SPOT's technology foundation is meticulously crafted to ensure a frictionless user experience, robust performance, and the ability to scale effortlessly.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published