This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
A full-stack carpooling platform designed for church communities to facilitate easier transportation to services and events.
UnityRide solves the transportation gap in church communities. It allows members with cars (Drivers) to offer seats for specific church events, and members without transport (Riders) to book them securely. The system manages real-time seat availability, role-based access, and booking approvals.
Built by: Singo Ndivhadzo Ernest
Role: Full-Stack Software Developer
- Role-Based Onboarding: Distinct workflows for Drivers (car details required) vs. Riders.
- Event-Centric Routing: Rides are grouped by specific service dates/times (fetched from Admin CMS).
- Concurrency Handling: Firestore Transactions ensure no two riders can book the last seat simultaneously.
- Driver Dashboard: Drivers can approve or reject incoming booking requests.
- Real-Time Status: Riders get instant updates on their booking status (Pending/Approved).
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS
- Icons: Lucide React
- Notifications: React Hot Toast
- Authentication: Firebase Auth (Email/Password)
- Database: Cloud Firestore (NoSQL)
- Security: Firestore Security Rules
- User Onboarding: Select Role -> If Driver, input Car Model/Plate.
- Dashboard: View upcoming services (e.g., Sunday Service).
- Marketplace: View available rides for that service.
- Booking: Rider requests a seat -> Driver approves -> Seat count decrements.
- Node.js 18+
- A Firebase Project
- Clone the repository
git clone [https://github.com/your-username/unity-ride.git](https://github.com/your-username/unity-ride.git)