Objective
This document outlines the functional requirements for a web-based system that enables hackathon teams to:
-
Register for the hackathon.
-
Upload their project files.
-
Receive automatic confirmation emails.
The system also provides an administrative dashboard that allows organizers to manage registrations, project files, and communication with teams.
System Scope
The system scope includes the following:
-
Public hackathon information pages (detailed information is provided in a separate file).
-
Team registration system, where the team leader registers the team and adds its members.
-
Secure login for the team leader (with optional login access for team members).
-
Project file uploads before the submission deadline.
-
Automated email notifications for confirmations, alerts, and application status updates (Under Review, Qualified, or Disqualified).
-
An administrative dashboard for organizers and judges.
-
Report generation and export in CSV and Excel formats.
Users and Roles
| Role | Permissions |
| Visitor |
View hackathon details, rules, schedule, and frequently asked questions (FAQs). |
| Team Leader |
Create a team, verify the email address, manage team members, upload files, and submit the final project. |
| Organizer |
Manage teams, deadlines, files, email communications, and reports. |
| Judge |
Review projects, evaluate submissions, and accept or reject projects. |
| Super Administrator | Configure system settings, manage permissions, ensure security, and manage backups. |
File Storage and Acceptance Criteria
Files are stored permanently and accessed through temporary links.
The system is considered successful when:
-
The team leader can register and create a team.
-
A confirmation email is sent automatically.
-
The team can upload files.
-
The administrator can download files.
-
Project submissions are closed after the deadline.
-
Reports can be exported.
-
All system activities are logged.
-
The organizer can assign projects to judges.
-
Judges can evaluate projects.
-
The highest-rated projects are displayed automatically.
Functional Requirements
The website must include:
- Home page (hackathon overview, prizes, sponsors, and schedule).
- Registration status indicator (Open or Closed).
- Frequently Asked Questions (FAQ) page.
- Privacy Policy.
- Terms and Conditions for Participation.
:Registration Steps
-
The team leader clicks “Register” and creates an account (email address + password).
-
The email address is verified using an OTP code or an activation link.
-
The team leader creates a team profile that includes:
- Team name
- Track or category
- University or organization
- Team leader’s phone number
- City
- Number of team members (calculated automatically)
- Brief description of the idea (no more than 300 words)
- Add team members (name, email address, and contact phone number).
-
The team leader agrees to the rules and privacy policy.
-
The system saves the team as registered. After registration, the following information is displayed:
-
Team Registration Number (Team ID)
-
Team name and track
-
Team status: Registered
-
Notice: “You can edit your information and upload files until …”
-
Button: Go to Team Dashboard
7. An automated confirmation email is sent containing:
-
Team ID
-
Team dashboard link
-
Important dates and support email address
Validation Rules
-
The team name must be unique.
-
An email address cannot be used for more than one team.
-
The maximum number of team members must be limited to five.
-
Selecting a track or category is mandatory.
Includes:
- Team status (Registered – Incomplete – Qualified – Disqualified).
- Edit team information before the deadline.
- Upload files.
- View uploaded files.
- Checklist of project requirements.
- “Submit” button to submit the final project and complete the application.
Required File Types (Configurable)
- Project Report: PDF / DOCX
- Project Presentation (Pitch Deck): PDF / PPTX
- Project Code: ZIP file or GitHub link
- Demo Video: YouTube, Google Drive, or direct MP4 upload
- Project Images: PNG / JPG
Upload Requirements
-
Maximum file size limit.
-
Virus scanning.
-
Allow only specified file types.
-
Store files in folders associated with the team ID.
-
Support multiple file versions.
-
Disable uploads after the deadline.
Core Messages:
- Account activation email
- Registration confirmation email
- File upload confirmation email
- Final project submission confirmation email
- Administrative announcement emails
- Project status notification emails (Qualified, Disqualified)
Message Requirements:
- Emails must be sent through the university’s email service.
- Include team information.
- Log all emails in the system.
Enables organizers to:
- View teams
- Search and filter by track or organization
- View team details
- Download files
- Modify settings
- Manage email messages
- Export reports
- View the activity log
- Assign projects to judges
Enables judges to:
- View assigned projects and their details.
- Download project files.
- Evaluate projects using the “Evaluate Project” button.
When the judge clicks “Evaluate Project,” a list of evaluation criteria (provided in a separate file) will be displayed, with a percentage assigned to each criterion. The system will automatically calculate the overall score and compare it with previously evaluated projects.
An “Additional Comments” field will also be provided to allow judges to enter their comments.
It displays the top 50 projects evaluated by the judges.
Support for Arabic and English.