A full Django application for managing and evaluating thesis defenses at AIMS Senegal.
pip install django openpyxl python-docx Pillow reportlabpython manage.py migrate
python manage.py createsuperuserpython manage.py shell -c "
from defense.models import SitePassword
SitePassword.objects.get_or_create(id=1, defaults={'password': 'aimssn'})
"python manage.py runserverVisit: http://127.0.0.1:8000/
- Platform password:
aimssn(changeable via Django admin) - Admin login: Create via
createsuperuser - Admin URL: http://127.0.0.1:8000/admin/
/— Animated landing page with draggable AIMS logo/login/— Password gate (default:aimssn)/sessions/— List of defense sessions; import Excel files here/sessions/<id>/— Two rooms (AIMS Room 1, AIMS Room 2)/sessions/<id>/room/<1or2>/— Student table with Start/Done/Link/Copy/PV buttons/defense/<token>/— Public link for evaluators (active only while defense is ongoing)/defense/<token>/panel/— Clickable grid of panel members/defense/<token>/eval/<index>/— Evaluation form per member/student/<id>/pv/— PV overview with download buttons (Word, PDF, ZIP)
Columns expected (from AIMS Coop schedule):
- Time (GMT), Surname, Given Names, Research Project title
- Room, Date, Academic Supervisors, Email of Supervisor, Institution of Supervisors
- Academic Supervisors 2, Email of Supervisor 2
- President Jury, Email, Affiliation
- Examiner 1, Examiner 1 email, Affiliation
- Examiner 2, Examiner 2 email, Affiliation
- Change site password: Admin → Site Password
- Reset a defense start: Admin → Students → select → "Reset defense start"
- Create/delete sessions: Admin → Sessions
Default password remains aimssn — auto-seeded via migration 0003_seed_site_password.
Run python manage.py migrate on a fresh database and the password will be set automatically.
Change it anytime via Admin → Site Password.