Video Demo: https://youtu.be/VenuAmZKg8I
This project is a web application for managing event attendees and their check-ins. It provides features such as admin dashboard, attendee management, and reports.
- User authentication for admin access.
- Admin dashboard for viewing and managing attendee data.
- Check-in forms for first-time attendees and regular attendees.
- Reporting of weekly and monthly attendance.
- Home Page: Allows attendees to check in and add new attendees to the database.
- Attendance Logging: Each check-in is logged for the admin's attendance report.
- Admin Access: Provides full read and write access to the attendee database.
- Reporting: Admins can view reports and download the database in various formats.
- Flask: Web framework for building the application.
- SQLite: Database for managing attendee data and check-ins.
- Jinja2: Template engine for rendering dynamic HTML pages.
- HTML/CSS: For creating and styling the frontend.
- JavaScript: Used for interactive features like attendee search and form validation.
- Bootstrap: Framework for responsive and user-friendly design.
project/
├── static/
│ └── styles.css # Contains CSS and other static assets used for styling and enhanced visual presentation of the application.
├── templates/
│ ├── admin_dashboard.html # Admin panel for managing attendees, downloading database as Excel, and viewing reports.
│ ├── admin_login.html # Admin login page for secure access.
│ ├── base.html # Base template including the navigation bar for the entire application.
│ ├── edit_attendee.html # Page for admin to edit attendee details.
│ ├── index.html # Home page for check-in and new attendee addition.
│ ├── regular_attendee.html # Page for attendees already in the database to check-in.
│ └── report.html # Displays detailed attendance reports.
├── app.py # The main Python file containing the Flask application and routes.
├── checkin.db # The SQLite database used for storing attendee information and event data.
├── README.md # Documentation for the project.
└── requirements.txt # Lists the dependencies required to run the application.
- Clone the repository:
git clone https://github.com/lloricomichelle/project.git
- Navigate into the project folder:
cd project
- Install the required dependencies:
pip install -r requirements.txt
- Setup Database:
- Open a terminal and navigate to the project directory:
cd project
- Create the database file:
sqlite3 checkin.db
- Create required tables inside the SQLite shell by executing the following SQL commands:
CREATE TABLE attendees ( id INTEGER PRIMARY KEY AUTOINCREMENT, first_name TEXT NOT NULL, last_name TEXT NOT NULL, phone_number TEXT, birthday TEXT, is_victory_group_leader BOOLEAN, group_leader_name TEXT, attending_greenhills BOOLEAN, service_time TEXT ); CREATE TABLE sqlite_sequence (name, seq); CREATE TABLE attendance_logs ( id INTEGER PRIMARY KEY AUTOINCREMENT, attendee_id INTEGER, visit_date DATE DEFAULT CURRENT_DATE, FOREIGN KEY (attendee_id) REFERENCES attendees(id) );
- Exit the SQLite shell:
.exit
- Open a terminal and navigate to the project directory:
- Run the application:
flask run