Ride with BRACU is a Ride Sharing app only for BRAC University Students which focuses on cost, convenience and safety. It is not a direct competitor of traditional ride sharing apps such as Uber, Lyft, Pathao, Obhai, etc. rather an extension to make the ride sharing process of those apps cheaper and safer.
If you are a BRAC University student, you can use the live version from ride-with-bracu.vercel.app
Suppose you are a BRAC Univsersity Student and you live in Shyamoli, Dhaka. You are late for your University and you want to use a Ride Sharing app like Uber. But the cost is too much. So, you thought:
I wish I knew someone from Shyamoli so that I could share my Uber Ride with him/her.
This app will help you to find every students of BRACU from Dhaka City who are also looking for a Ride and connect with them. In that way, you can communicate with your university mate, share your ride and split the fare. Which means:
- + Safety
- - Money
For Desktop Screenshots Please visit Desktop Screenshots
- Strict Sign in with BRACU G-Suite Email
- Ability to save Whatsapp Voice Call Link, Facebook Link, Messenger Link for better communication
- Ability to save default location for faster user experience
- Responsive UI (Desktop, Mobile and Tablet)
- Can be used as a Web-app
- Ability to see users who are looking for partners
- Searching state will automatically be turned off in case of 30 minutes of inactivity
- Can be easily converted to React Native / Expo and use as a native Android / iOS app
- Unit Tests
-
Copy
.env.example
as.env
-
In the
.env
file enter your Google Cloud credentials -
In the
prisma/schema.prisma
comment line no 10, 11 and uncomment line no 14, 15 (Hint is given in the file). -
Run the following commands
npm install && npx prisma migrate dev && npx prisma db push && npm run dev
Then open https://localhost:3000 with a browser to see the result.
We are using playwright for unit testing as per NextJS's suggestion
Run
npx playwright install && npm run test:e2e
Vercel is recommended for deployment.
Before deploying to Vercel, Run
npm run vercel-build
- NextJS (Version 13.1 with app directory enabled)
- TailwindCSS for Custom CSS Styling
- SWR for fetching
- Prisma for DB Migration
- PostgreSQL as Backend DB
- NextAuth for Authentication (Mainly Google Auth)
- TypeScript for Type Safety
- ReactJS as JavaScript Library
- Vercel for frontend deployment
- Railway for backend deployment
- Eslint for linting
- Prettier as a code formatter
- Playwright for end-to-end unit tests
Before sending the data to the DB, I have used sessionStorage as a middleware for fecthing and sending data (cache). This reduces the need of using frequent DB queries as well as improved the performance by 10x.
- Google Map integration for showing location and roads
- GPS integration for grabbing current location
- Convert to React Native after final build
- Better UI/UX
- You tell me
Please mail to [email protected]