Django-School-Management
A fullstack school management project in django, bootstrap-4 and javascript.
Installation:
- go to the project folder
- run
pipenv install
- create
.env
under config folder and give credentials following.env.example
template 3.1. See additional resources section to setup/get more info. - run
python manage.py migrate
- then
python manage.py runserver
for testing, create a superuser too.
Celery-redis setup:
- Celery is installed, install redis as well.
- for linux users:
- run redis server with
redis-server
command.
- for windows users:
- Download redis (https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504)
- Run redis-server.exe and redis-cli.exe.
And finally, while django server is running, run this command on another terminal
celery -A config worker -l INFO
Additional Resources:
- Create braintree sandbox account from: https://sandbox.braintreegateway.com/login
Usage/testing
Use provided fixtures for each applications.
Provided Fixtures:
- teachers/teacher_fixtures.json
How to load fixtures?
For example, you want to loadteachers/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
linkcard 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