This project is no longer active and you are not advised to use it. Read more here if you'd like.
Schooldriver
This is an open source school information system built with Django. It relies heavily on the django admin interface for backend usage (registrar, etc). Below you will find a list of apps included in the software with a brief description of each.
Burke Software and Consulting offers support and hosting for $3000/year for a school of < 500 students. Contact us for details.
Quick Install
You should have at least basic django deployment and docker experience to run django-sis. We test only in Ubuntu 12.04 and PostgreSQL. Other environments might work but are not supported.
Run the docker images as described in docker-compose.yml. We suggest creating a docker-compose-production.yml file with your own condocker-composerations.
Configuration
Modify settings_local.py or edit environment variables to add your own settings, such as your database.
Set up database
docker-compose run --rm web ./manage.py migrate
Run a test server
docker-compose up
Upgrades
git pull
docker-compose build
docker-compose run --rm web ./manage.py migrate
docker-compose run --rm web ./manage.py collectstatic
docker-compose restart
We don't currently release stable versions of django-sis. You can assume everything in git is as "stable" as possible. If you require more stability consider paying for support.
Apps
##School Information System (SIS) This tracks the students’ information and their parent/guardian/contact information. This module also records cohorts (groupings of students for easier class enrollment), basic faculty information, and school year information. This is the central module for django-sis and is required for use of any other module. All other modules are optional.
##Admissions This tracks potential students and their registration processes. It allows various admission levels to be added as well as steps that need to be completed before moving onto the next level. It also tracks any open houses a student has attended and how the student heard about the school.
Every step in the process can be fully customized to serve your school’s needs. From an applicant's page, the filter function may sort results accordingly.
##Alumni This tracks in which college a student has enrolled after graduating and any alumni actions (such as reunions). Information can be imported from National Student Clearinghouse (http://www.studentclearinghouse.org/). Additionally, SWoRD can store interactions between the former students and current staff as shown below:
##Attendance The attendance module allows homeroom teachers to take attendance each day and write notes for absentees. SWoRD stores this data and allows users to generate reports, look up single students, aggregate reports, and produce perfect attendance certificates.
##Discipline The discipline module tracks a student’s discipline information including infractions, actions to be taken, and the teacher who reported the infraction. Similar to the other modules in SWoRD, discipline reports can be generated and exported into an Excel document for convenience.
##Schedule, Courses, and Grades These modules track courses, enrollments, marking periods, class periods, marking period grades, student awards, standardized tests information, and results (ex: SAT, ACT, PLAN, etc). SWoRD stores marking period grades and final grades; these grades can then be generated into a report card or transcript. At present, SWoRD supports integration with the free online gradebook Engrade.
##Volunteer Tracking This module tracks any volunteer work a student is required to do including site and site supervisor information. A student can volunteer at multiple sites.
Counseling
This tracks students’ counseling meetings and referrals. It allows teachers to submit online referral forms that notify the counselor and also tracks follow-up actions after a meeting.
##Work Study The Work Study module involves many different facets. Students from the School Information module can be converted to Student Workers so that more specialized information can be tracked in the Work Study module. Students may submit time sheets for supervisors to approve, make notes, and evaluate the student. This process is shown below:
All submitted time sheets are stored on SWoRD to allow work study staff to keep track of approved or unapproved time sheets. Users with access to these stored time sheets are able to view each time sheet’s information including date, hours, student accomplishments, and supervisor comments.
Student work attendance is also tracked, allowing faculty to list reasons for missed work days, fees and to specify when the student will make up for the missed day.
SWoRD allows users to save basic company information for each work site associated with the school including Department of Labor forms. Additionally, information from client visits is saved along with the pertinent evaluations shown below.
Development Environment
You can easily get Django-sis running in an isolated development environment using Fig and Docker. We have tested this to work on both OSX and Ubuntu.
Fig And Docker
See docker-compose installation docs
Database
*The following commands need to run from Linux or from the boot2docker virtual machine shell.
docker-compose run --rm web python manage.py migrate
Run
docker-compose up
Enjoy your django-sis instance on localhost:8000
*
*may be alternative address if using boot2docker.
To log in set up sample data or run
docker-compose run --rm web python manage.py createsuperuser
Sample Data
We have some sample data that might be useful when testing out the development environment. To load the data, try this:
docker-compose run --rm web python manage.py populate_sample_data
This will create a superuser with username/password of aa/aa
Multi tenant (optional)
Set MULTI_TENANT=True
in settings_local.py. You can create a new tenant with
from ecwsp.customers.models import Client
tenant = Client(domain_url='localhost',
schema_name='tenant1',
name='My First Tenant',)
tenant.save()
Read more at https://django-tenant-schemas.readthedocs.org/en/latest/