Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/mrinspection/marieteam-web
- Owner: MrInspection
- Created: 2024-09-15T16:44:46.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-11-03T14:11:02.000Z (2 months ago)
- Last Synced: 2024-11-03T15:18:37.883Z (2 months ago)
- Topics: booking-system, nextauthv5, nextjs14, shadcn-ui, tailwindcss, webapplication, zod, zod-validation
- Language: TypeScript
- Homepage: https://marieteam.vercel.app
- Size: 3.21 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)