diff --git a/README.md b/README.md new file mode 100644 index 0000000..2e6bbf1 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# Handball Ticketing Web Application + +This is a web application for managing and booking tickets for handball matches. It features an admin panel for managing matches and seating, and a user-facing interface for browsing matches and purchasing tickets. + +## Features + +### Admin Panel + +The admin panel allows administrators to manage matches, seating, and uploaded ticket files. + +* **Secure Access:** Protected by a password (can be set up on first access). +* **Match Management:** Add new matches with details such as name, date, location, total seats, price (optional), and booking deadline. +* **Seat Management:** + * Upload PDF files for each seat (e.g., containing seat maps or specific ticket details). + * Automatic extraction of seat direction (e.g., OUEST, SUD) and number from filenames in the format `DIRECTION_NUMBER.pdf`. + * Option to manually set or override the seat number during upload. + * View a list of existing matches. + * Delete existing matches, which also removes associated seats, tickets, and uploaded PDF files. + +### User Interface + +The user-facing part of the application allows users to browse and book tickets. + +* **Match Listing:** View a list of upcoming handball matches. +* **Match Details:** See detailed information for each match, including date, location, available seats, price, and booking deadline. +* **Seat Selection:** Visually select desired seats from the available options. +* **Booking Process:** Provide contact information (name, email, phone) to book selected seats. +* **Ticket Delivery:** Choose to receive the ticket(s) as a PDF download or via email. +* **PDF Tickets:** Generated PDF tickets include match details, seat information (direction and number), and customer details. +* **Dark Theme:** The application has a dark theme for a modern look. +* **Contact Information:** A contact email is provided in the footer. + +### Technical Details + +* **Backend:** Developed with Express.js. +* **Frontend:** Built with React. +* **Database:** Uses MariaDB. +* **File Storage:** Handles PDF file uploads for seats and tickets. +* **Emailing:** Integrates with Nodemailer to send tickets via email. +* **PDF Generation:** Uses `pdfkit` to create ticket PDFs. +* **Styling:** Utilizes Tailwind CSS for a responsive and modern design. + +## Setup and Installation + +*(Instructions on how to set up and run the project - placeholder for now)* + +## Usage + +*(Instructions on how to use the admin panel and book tickets - placeholder for now)* \ No newline at end of file