Skip to content

Repository files navigation

Chibuwe Technical High School — Online Admissions System

Standalone Django + PostgreSQL admissions system: applicants register, complete a 5-step application wizard, and admins review/approve or reject via a dashboard. This is fully self-contained — it does not integrate with or write to any other system. On approval it generates a registration number and a one-time temporary password for the applicant's own account within this app.

Stack

Django 5, PostgreSQL, Tailwind CSS (CDN), Alpine.js, vanilla JS, flatpickr.

Setup

  1. Create the Postgres database:
    createuser admissions_user -P
    createdb admissions_db -O admissions_user
    
  2. Copy .env.example to .env and fill in your DB credentials + a real SECRET_KEY.
  3. Install dependencies:
    pip install -r requirements.txt
    
  4. Migrate and create an admin account:
    python manage.py migrate
    python manage.py createsuperuser
    
    In the Django admin (/django-admin/), set that user's role to admin and check is_staff so they can access the review dashboard at /review/.
  5. Run the dev server:
    python manage.py runserver
    

URLs

  • /accounts/register/ — applicant sign-up
  • /accounts/login/ — sign in (applicants and admins)
  • /applications/apply/ — the 5-step application wizard
  • /applications/dashboard/ — applicant status tracker
  • /review/ — admin review queue (role=admin only)
  • /django-admin/ — Django admin for managing users/programs directly

Notes

  • Uploaded documents are validated client-side (type/size) and stored under MEDIA_ROOT/applications/<reference_number>/....
  • Application data model lives in applications/models.py — all wizard fields are on one Application row per applicant (max one non-draft application per user in this version).
  • Approval logic (admin_review/views.py::approve_view) generates CTHS-<year>-NNNNN registration numbers and resets the applicant's own password — nothing is written to any external system.

About

Student Admissions System built with Django and Tailwind CSS. Includes applicant registration, a progress-saving application wizard, automated email notifications, PayNow/EcoCash integration, and a dedicated admin portal for reviewing and approving applications.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages