Skip to content
leonardontPublic

About

A Django-based web application developed 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.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

The Clock Punching Django Application

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.

Functionalities

  • 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.

First Steps

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 venv
  • venv/bin/pip install django
  • venv/bin/pip install djangorestframework
  • venv/bin/pip install psycopg2
  • venv/bin/pip install Pillow
  • venv/bin/pip install requests
  • venv/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

Usage

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.

Credits


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

About

A Django-based web application developed 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.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages