JourneyLink is a comprehensive ride-sharing platform designed to connect drivers and passengers for seamless travel experiences. This monorepo contains the backend API, web application, and mobile application.
- Monorepo Management: Turbo, Yarn Workspaces
- Backend: Node.js, Express, MongoDB
- Web Frontend: Next.js, React, Tailwind CSS
- Shared Packages: TypeScript, Zod
- Node.js (v18+ recommended)
- Yarn (v4.x+)
- MongoDB (Local or Atlas URI)
-
Clone the repository:
git clone <repository-url> cd JourneyLink
-
Install dependencies:
yarn install
-
Environment Setup:
- Copy
.env.exampleto.envinapps/apiandapps/web. - Configure your MongoDB URI and other environment variables.
- Copy
You can run the entire stack or individual applications using Turbo.
-
Run all apps (dev mode):
yarn dev
-
Run specific app:
yarn dev:api yarn dev:web
apps/api: Express.js backend APIapps/web: Next.js web frontendpackages/shared: Shared TypeScript types, schemas, and utilities
The API is documented using a Postman collection. You can find the postman_collection.json file in the root directory. Import it into Postman to explore and test the API endpoints.
- Auth:
/api/auth(Login, Register, Logout) - User:
/api/me(Profile, Rides) - Rides:
/api/ride(Create, Search, Manage) - Bookings:
/api/booking(Book, Accept, Decline) - Places:
/api/city-autocomplete