Welcome to the WeRoad Travel Booking System, a fake booking system for WeRoad customers to book travels. This project is built using NestJS, GraphQL, Nuxt 3, and Tailwind CSS.
- Users can view available travels and book spots for their desired travel.
- Each travel has a maximum capacity of 15 travelers.
- Booked spots are reserved for 15 minutes during the checkout phase.
- Sold out travels are marked as sold out and cannot be booked.
- Backend: TypeScript, NestJS, GraphQL
- Frontend: TypeScript, Nuxt 3, Tailwind CSS
The project is structured into backend and frontend folders:
nestjs-travel-booking-backend
: Contains the NestJS backend code.src
: Contains the source code for the backend application.test
: Includes unit tests for backend services and resolvers.data
: Contains JSON files with fake travel data to get started.schema.gql
: GraphQL schema file for defining the API.
nuxt3-travel-booking-frontend
: Contains the Nuxt 3 frontend code.src
: Contains the source code for the frontend application.components
: Reusable Vue components for different parts of the UI.composables
: Vue composition functions for managing state and logic.pages
: Vue files representing different pages of the application.plugins
: Contains the Apollo Client setup for GraphQL integration.
-
Clone the Repository
git clone https://github.com/deliteser112/weroad-nuxtjs-nestjs-graphql.git
-
Install Dependencies
- Backend:
cd nestjs-travel-booking-backend npm install
- Frontend:
cd nuxt3-travel-booking-frontend npm install
- Backend:
-
Start the Servers
-
Access the Application Open your browser and visit
http://localhost:3000
to access the WeRoad Travel Booking System.
- GraphQL API Endpoint:
http://localhost:4000/graphql
- Unit Tests: Backend tests can be run using
npm run test
in thenestjs-travel-booking-backend
folder. - End-to-End Tests: Frontend tests can be run using
npm run test
in thenuxt3-travel-booking-frontend
folder.
This project is licensed under the MIT License. See the LICENSE file for details.