We are planning to offer weekly raffle prizes to our customers in return for their purchases at our store. For this purpose, we need a website that includes a Landing Page, where users can view their raffle ticket information, and an Admin Panel to manage the raffle processes.
Requirements:
1. Landing Page (User Interface) Features:
User Access: Users should be able to access their page through a URL like example.com/username or by entering their username on a login screen. Ticket Information: Users should be able to easily view their active ticket count and details. Countdown Timer: A countdown timer should be added to display the time remaining until the next raffle. Raffle Results: Once the raffle results are announced, users should be able to view their winning ticket information on their personal page. For security purposes, only the first 2 and last 1 characters of the username should be displayed.
2. Admin Panel Features:
Raffle Settings: The admin should be able to set raffle dates and expiration dates for tickets after each raffle. Prize Management: Up to 20 prizes can be allocated per raffle, with an interface to define prizes for each ranking position. Automated Raffles: A mechanism to automatically conduct the raffle on the specified date and time. Ticket Management: User-specific tickets should be created via an API request. Each ticket must have a unique number, and only one prize should be awarded per user per raffle. Manual Operations: Admins should be able to manually add or remove tickets for users. Result Display: Raffle results should be automatically displayed on the user pages according to the date set in the admin panel.
Additional Features:
Notifications: Raffle dates and results should trigger notifications sent through an API to a configurable URL, containing the username and prize information. Reporting and Statistics: A reporting screen that lists historical data and prize winners for analyzing raffle performance. Responsive Design: The Landing Page and Admin Panel should be responsive, ensuring smooth functionality on both desktop and mobile devices.
Required Technical Skills:
Front-End: Proficiency in HTML, CSS, JavaScript, responsive design, and user experience (UI/UX). Back-End: Experience with API integration, automated processes, and data management (e.g., Laravel or Node.js). Database Management: A robust database structure to manage raffle, ticket, and user data. Raffle Certification: Raffles will be conducted under notary supervision, and the results will be added to the winners page via an API.