Goober is an ride-sharing web application, designed as a minimum viable product (MVP) that closely emulates real-world ride-sharing services. This project was built as a full-stack solution, including a front-end user interface, back-end API, real-time data handling, and a database.
cp .env.example .env
pnpm install
pnpm run dev
- Framework: Built on the T3 Stack stack for efficient full-stack development.
- Real-Time Data: Supabase client for real-time data management.
- Database: Supabase using Postgresql and Prisma for database operations.
- Geolocation Service: Google Maps API for geolocation services.
- State Management: React Query for efficient state syncing with backend data.
- UI Components: Tailwind CSS with some AI-generated components from Vercel v0.
- Deployment: Vercel for hosting the application.
-
- UI Handling: Managing ride status with numerous possible statuses
- Potential Backend Over-Engineering: There was a tendency to overthink solutions, potentially leading to more complex implementations than necessary.
-
- Google Maps API: Geolocation and routing functionalities
- Supabase: Explored the power and versatility of Supabase, particularly its real-time capabilities, enhancing the app functionalities.
- Tailwind CSS: Keeping clean and responsive UI
-
- Clean and minimalist UI: User-friendly interface
- Abstraction levels: Facilitating code reusability and reducing redundancy
- First real-time application: Successfully ventured into the realm of real-time applications
-
- Error Handling: Handler better possibles errors
- Post-Ride UI Enhancement: Lack of UI post complete ride
- State Management Complexity: Faced challenges in managing the state, especially in rider UI with Maps Location API calls, indicating a need for better state management practices.
-
- Execution: From initial design and technologies studies to the first live deploy, the project was completed within approximately 24 hours total
- Database Mocking and User Switching: Implemented mock data for riders and drivers, enabling dynamic user profile switchin.
- UI/UX Design with Vercel v0: Chose AI tool Vercel v0 for rapid UI design. This tool significantly expedited the design process, allowing to focus on functionality
- Integration of Supabase with Prisma: Combined Supabase for real-time updates and Prisma for ORM,