MarieTeam Projects is a series of three distinct school projects, each focused on building a different type of application: a web application, a desktop application, and a mobile app.
The MarieTeam Web application implements a booking system, allowing users to select a trip, configure their seats, and proceed to checkout. It uses a solid technical stack to achieve the intended functionality and user experience.
Next.js 15TailwindCSSShadcn UIPrisma & Neon DatabaseAuth.js: Credentials auth & Oauth providersStripeZod
- Payment Gateway Integration with Stripe
- User Authentication with Auth.js
- Booking System with Prisma
- Administration dashboard with statistics data
- Crossing API to create captain logs from the mobile app
-
ADMIN! Transform the admin dashboard into a CRUD dashboard to fully manage everything
- Manage
seatCategory,seatType(create, edit, delete and read) - Manage
boats(ability to edit & delete) - Manage
crossings(ability to delete) - Manage
routes(ability to delete) - Manage
pricings(ability to create, edit & delete)
- Manage
-
ADMIN! View information about a customer and their reservations and manage their account & permissions
-
CUSTOMER! Ability to download the invoice for their reservation in
/orders -
CUSTOMER! Ability to cancel their reservation and get a full refund
-
CUSTOMER! Have a map to view the route of the crossing
-
CUSTOMER! An illustration of the boat to be able to select the seat
To run this project on your local environment, follow the following steps :
- Clone the repository to your local machine or download the source code.
- Run the command
pnpm installin the project directory to install the required dependencies - Run the docker-compose.yml file to start the PostgreSQL database.
- Create a new file named
.envin the project directory and add the variables as shown in the.env.examplefile. - Run the command
prisma db seedto seed the database with startup data - Run the command
pnpm run startto start theproduction buildof the project. - Open your internet browser and go to the following address: http://localhost:3000
