Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mohith-2002/qr-tickets
QR-based ticket booking system using Next.js 14, MongoDB, Stripe, and NextAuth v5. It provides a secure platform for online ticket booking with integrated payment processing via Stripe and user authentication with NextAuth v5. The system also includes real-time QR code validation and turnstile (door) access control using Raspberry PI-4B.
https://github.com/mohith-2002/qr-tickets
docker eks-cluster jenkins kubernetes mongodb nextjs-14 raspberry-pi serveractions stripe trivy-scan
Last synced: about 1 month ago
JSON representation
QR-based ticket booking system using Next.js 14, MongoDB, Stripe, and NextAuth v5. It provides a secure platform for online ticket booking with integrated payment processing via Stripe and user authentication with NextAuth v5. The system also includes real-time QR code validation and turnstile (door) access control using Raspberry PI-4B.
- Host: GitHub
- URL: https://github.com/mohith-2002/qr-tickets
- Owner: MOHITH-2002
- Created: 2024-04-06T17:15:09.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-07-08T17:51:09.000Z (6 months ago)
- Last Synced: 2024-07-08T21:57:11.785Z (6 months ago)
- Topics: docker, eks-cluster, jenkins, kubernetes, mongodb, nextjs-14, raspberry-pi, serveractions, stripe, trivy-scan
- Language: TypeScript
- Homepage: https://www.qrtickets.software
- Size: 579 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QR-based Ticket Booking System
This project is a QR-based ticket booking system built with Next.js 14, MongoDB, Stripe, and NextAuth v5. It provides a secure platform for online ticket booking with integrated payment processing and user authentication. The system includes real-time QR code validation and turnstile (door) access control using a Raspberry PI-4B.
## Features
- **Secure Ticket Booking**: Users can book tickets online securely.
- **Payment Processing**: Integrated with Stripe for seamless payment transactions.
- **User Authentication**: Secure authentication and authorization using NextAuth v5.
- **QR Code Validation**: Real-time validation of QR codes for ticket verification.
- **Access Control**: Turnstile (door) access control implemented with Raspberry PI-4B.## Tech Stack
- **Next.js 14**: Frontend framework for building the web application.
- **MongoDB**: Database for storing user and ticket information.
- **Stripe**: Payment processing platform.
- **NextAuth v5**: Authentication library for secure user login and management.
- **Raspberry PI-4B**: Hardware for turnstile access control.## Getting Started
To get started with the project, follow these steps:
### Prerequisites
Make sure you have the following installed on your system:
- Node.js
- npm or yarn
- MongoDB
- Raspberry PI-4B (for access control)### Installation
1. Clone the repository:
```bash
git clone https://github.com/MOHITH-2002/Qr-Tickets.git .
```
2. install and run through Docker:
provide your .env credentials in /kubernetes/deployment-service.yml
```bash
docker build -t mohith9353/qr-ticket:latest .
docker run -p 3000:3000 mohith9353/qr-ticket:latest
```
OR
2. Install dependencies:```bash
npm install
# or
yarn install
```3. Set up environment variables:
Create a `.env` file in the root directory and add your environment variables:
```env
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key
STRIPE_SECRET_KEY=your-stripe-secret-key
MONGODB_URI=your-mongodb-uri
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-nextauth-secret
```### Running the Development Server
Start the development server:
```bash
npm run dev
# or
yarn dev
```## Deploy on Vercel
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.