Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mrinspection/marieteam-web

A modern marine booking website with an admin dashboard. A school project.
https://github.com/mrinspection/marieteam-web

booking-system nextauthv5 nextjs14 shadcn-ui tailwindcss webapplication zod zod-validation

Last synced: 2 months ago
JSON representation

A modern marine booking website with an admin dashboard. A school project.

Awesome Lists containing this project

README

        

# MarieTeam Website

![](/public/og.png)

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.

## πŸͺ› Development Stack

- `Next.js 14`
- `TailwindCSS`
- `Shadcn UI`
- `Prisma & Neon Database`
- `Auth.js` : Credentials auth & 0auth providers
- `Stripe`
- `Zod`
- `Jest` (Testing)

## ⚑Features

- Payment Gateway Integration with Stripe
- User Authentication with Auth.js
- Booking System with Prisma
- Administration dashboard with statistics data

## β˜‘οΈ How can it be improved ?

- **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)
- **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

## πŸ“— How to run this project ?

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 `npm install` in the project directory to install the **required** dependencies
- Create a new file named `.env` in the project directory and add the following environment variables:

```dotenv
AUTH_SECRET=

AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=

AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=

DATABASE_URL=
NEXT_PUBLIC_SERVER_URL=

STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
```

- Run the command `npm run start` to start the `production build` of the project.
- Open your internet browser and go to the following address: [http://localhost:3000](http://localhost:3000)