Inspiration
The idea for AutoResQ came from the frustration many drivers experience when their vehicles break down and they struggle to find reliable assistance nearby. Inspired by platforms like Uber, we wanted to create a system that makes it easy for drivers to connect with nearby mechanics in real-time.
What it does
AutoResQ is a platform that allows mechanics to locate nearby drivers with vehicle issues and offer their help. Mechanics can view service requests on a map, accept them, and update the request status (e.g., "ongoing" or "accepted"). Drivers can also share images and details about their vehicle problems, helping mechanics better prepare before they arrive.
How we built it
- The frontend was built using Next.js with app-based routing to deliver a smooth and responsive user experience.
- For location tracking, Leaflet.js was integrated to handle real-time maps and user location data.
- The backend was designed with modularity in mind with Next.js, using APIs that handle real-time updates via WebSockets. MongoDB aggregation pipelines were used extensively for filtering and sorting drivers by proximity and needs.
- File uploads were implemented using UploadThing to securely manage media sharing.
- The platform was deployed with Vercel for the frontend and Render.com for the backend (websocket server).
Challenges we ran into
Implementing live location sharing with WebSockets was tricky, especially ensuring smooth communication with minimal delays. Working with MongoDB's aggregation pipelines for proximity-based searches and filtering required careful debugging and optimization. Building a user interface that could handle real-time updates without disrupting the user experience was challenging. State Management: Keeping the application state in sync with real-time location updates required robust state management. Updating live locations on the map: Dynamically updating the user's live location on the map while maintaining smooth performance was a significant challenge.
Accomplishments that we're proud of
Successfully implemented real-time location sharing and live map updates. Optimized backend performance for proximity-based searches and real-time status updates. Designed a user-friendly interface that simplifies the process of connecting mechanics with drivers.
What we learned
Gained practical experience in WebSocket implementation for real-time applications. Improved understanding of MongoDB aggregation pipelines and query optimization. Mastered the integration of Leaflet.js for location tracking and maps. Learned best practices for deploying full-stack applications on platforms like Vercel and Render.com.
What's next for AutoResQ
Developing a mobile app for better accessibility and a more seamless user experience. Introducing pairing based on specialization, ensuring mechanics with the right expertise are matched to relevant service requests.
Built With
- express.js
- leaflet.js
- mongodb
- next-auth
- nextjs
- node.js
- nodemailer
- shadcn
- socket.io
- typescript
- uploadthing
Log in or sign up for Devpost to join the conversation.