ClockApp is a Django-based web application developed in 2022 as both a Python learning project and a practical solution for employee attendance tracking.
Designed to simplify clock-in/out processes, this system offers role-based access and automated reporting – ideal for small businesses or teams.
The project was prematurely canceled, which resulted in several planned features not being implemented such as manual clock punching, RFID tag-based clock punching, and more.
Due to the early termination of development, the API integration was left incomplete. As a result, the application remains monolithic.
Currently, the only way to add new clock punches or users is through the Django admin interface. You can access it at "/admin" URL suffix, where basic CRUD operations are available.
- Create, manage, and organize user profiles – Easily add, view, edit, or remove users from the system.
- Record and modify clock punches – Log work hours, adjust entries, or delete punches as needed.
- Comprehensive reporting – Generate detailed PDF punch reports for any user or date range, ensuring accurate timekeeping.
To start off, you'll need:
- Python 3
- PostgreSQL
Create a virtual environment and install the dependencies needed by running the following commands:
python -m venv venvvenv/bin/pip install djangovenv/bin/pip install djangorestframeworkvenv/bin/pip install psycopg2venv/bin/pip install Pillowvenv/bin/pip install requestsvenv/bin/pip install pandas
After it, inside your "psql" command line (or through any other PostgreSQL database input method), run the following commands:
CREATE USER clockapp_admin_user WITH SUPERUSER PASSWORD 'clockapp_admin_password';CREATE DATABASE clockapp_production_db;
With the database set up correctly, proceed to the user creation with:
venv/bin/python manage.py createsuperuser
To run the app itself:
venv/bin/python manage.py runserver
You can now access the website on the returned IP and port.
To log in, use the credentials you specified when creating the superuser account.
Once logged in, administrators will see an Administration Menu, which provides access to Django's built-in admin interface. From there, you can manage users and clock punches — including adding, editing, and deleting records.
Clicking the Access Platform button will take you to the main dashboard. This screen displays all of your clock punches in a sortable table — simply click a column header to reorder the entries.
Available User Actions:
- Download PDF: Export a comprehensive report of your clock punch history, including your name and current hour bank balance.
- User Menu (top-right corner): Edit your profile or log out.
- ClockApp Logo (top-left corner): Return to the home page at any time.
Project
Project Director, Python Developer, Django Developer, HTML Developer, CSS Developer:
Leonardo Nabarro Tonezer
DISCLAIMER: "ClockApp" is an independent project developed for educational purposes and professional skill development.
This project does NOT comercially profit today, has NOT comercially profited in the past, and will NOT comercially profit in the future.
The owners and participants of this project do not sell, endorse the selling or receive any money for the copies of this project.
THE HEREBY PROJECT SHALL BE USED ONLY AND EXCLUSIVELY FOR RESEARCH PURPOSES.
Copyright © 2022 Leonardo Nabarro Tonezer
Apache License - Version 2.0
