Qrify Backend is a backend application designed for generating and managing QR codes for events. It processes event data from Excel sheets, publishes them to Google Sheets, and allows real-time attendance marking via the Qrify App.
- Generate QR codes for events from Excel sheets.
- Publish event data to Google Sheets.
- Sync QR scans with Google Sheets for real-time attendance tracking.
- API routes for event management and QR code operations.
- Admin user creation for managing events and QR codes.
- Programming Language: TypeScript
- Database Management: Prisma ORM
- Frameworks/Libraries: Hono (for API handling)
Ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/shivam1608/qrify-backend-main.git cd qrify-backend-main
-
Install dependencies:
bun install
-
Set up the database:
bun prisma migrate dev
-
Start the server:
bun run dev
To create an admin user, run the scripts/create_user.ts
script:
bun run scripts/create_user.ts
This script will prompt you to enter:
- Email: The email of the admin user.
- Password: A secure password for authentication.
- Name: The name of the admin user.
Once the details are provided, the user will be created in the database.
qrify-backend-main/
│── prisma/ # Database schema and migrations
│── scripts/ # Custom scripts (e.g., user creation)
│── src/ # Main source code
│ ├── controllers/ # Handles business logic
│ ├── routes/ # API route definitions
│ ├── services/ # Service layer (QR, sheets handling)
│ ├── lib/ # Utility functions
│ ├── index.ts # Entry point
│── types/ # TypeScript type definitions
│── Dockerfile # Docker container setup
│── package.json # Project metadata and scripts
│── tsconfig.json # TypeScript configuration
│── .gitignore # Git ignored files
│── bun.lockb # Dependency lock file
POST /qrcodes/generate
- Generates a QR code for an event.GET /qrcodes/:id
- Retrieves details of a specific QR code.
POST /events/create
- Creates a new event from an Excel file.GET /events/:id
- Fetches event details.GET /events
- Lists all events.
GET /public/events
- Fetches public event details.POST /public/scan
- Marks attendance by scanning a QR code.
Author : Shivzee
IDE Used : VS Code
Buy me a coffee