djattendance is a rewrite of the original PHP attendanceproj in Python/Django. It supports many internal functions of the FTTA, for both trainees and administrators, such as:
- Attendance
- Service Scheduling
- Life-studies
- Class Syllabi
- Exams & Grading
- Room Reservations
- etc.
The original attendance server was based on a traditional LAMPstack. The new version is written in Python using the Django web framework with a PostgreSQL backend. On the front-end we use Bootstrap and in some places, ReactJS.
Django modularizes a projects components into 'apps' which allow users to separate different aspects or features of their application. Logically distinct features are contained within their own app and namespace (e.g. attendance
, leaveslips
, lifestudies
), but we also have several 'core' apps that comprise the basic data model shared across the whole project (e.g. accounts
, houses
, teams
, etc.).
We rely on a number of third-party Django apps to provide major functionality. Most notably: django-suit (to skin the admin site), and django rest framework (for API creation).
We welcome any contributions. Please get in touch with the project owners and also review the Contributor Guidelines page on the wiki.
A more detailed guide to running djattendance on your local machine can be found in the wiki. A Unix environment is preferred (OS X, Ubuntu), and for Windows users, Vagrant is the most ideal option.