Django-School-Management

A fullstack school management project in django, bootstrap-4 and javascript.

Installation:

  1. go to the project folder
  2. run pip install -r requirements.txt
  3. create .env under envs folder and give credentials following .env.example template
  4. See additional resources section to setup/get more info.
  5. run python manage.py migrate
  6. then python manage.py runserver for testing, create a superuser too.

Celery-redis setup:

  1. Celery is installed, install redis as well.
  2. for linux users:
  • run redis server with redis-server command.
  1. for windows users:

And finally, while django server is running, run this command on another terminal
celery -A config worker -l INFO

Additional Resources:

Usage/testing

Use provided fixtures for each applications.
Provided Fixtures:

  • teachers/teacher_fixtures.json How to load fixtures?
    For example, you want to load teachers/teacher_fixtures.json
    you have to simply run this management command on your terminal:
    python manage.py loaddata teachers/teacher_fixtures.json

this command will load initial data for teachers app. Follow the same pattern to install initial data for other applications.

Fixture Load Order:

  • python manage.py loaddata teachers/teacher_fixtures.json
  • python manage.py loaddata academics/academic_fixtures.json
  • python manage.py loaddata students\fixtures\offline_applications.json
  • python manage.py loaddata students\fixtures\online_admitted.json
  • python manage.py loaddata students\fixtures\online_paid.json
  • python manage.py loaddata students\fixtures\online_rejected.json
  • python manage.py loaddata students\fixtures\online_unpaid.json
  • APPLY CARD INFO AT admission link card number: 5555555555554444 expiracy: any valid future date

Working Components:

  • Create application for admission manually (it will save candidate as offline admission candidate)
  • Online application for admission (payment and admission process handled automatically)
  • Handle payment, admission, rejection, update candidate's status after communication
  • Assign student to an academic batch, class
  • Manage counseling (admission) dashboard with data visualization (download/view pdf reports)
  • CRUD departments, subjects, teachers, academic session, semester; import subjects from csv file
  • Teacher list view, students list view, designation CRUD
  • Create users, users list, view user groups and permissions

Contact me: