An application to assist a university professor with his data management.
Create a virtualenv and activate it:
$ virtualenv --no-site-packages . $ source bin/activate
Install django-1.6 and django-bootsrap-toolkit:
$ bin/pip install django===1.6.11 django-bootstrap-toolkit
Create a django project and clone this project into it:
$ bin/django-admin.py startproject ProfessorSite $ cd ProfessorSite $ git clone git@github.com:fakedrake/django-profapp profapp
Edit ProfessorSite/settings.py to know of our application
and dependencies, also define a static directory and setup the
database to your preference (sqlite3 here):
...
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'database', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': '',
'PASSWORD': '',
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
...
STATIC_ROOT='/path/to/ProfessorSite/static/'
...
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
"django.core.context_processors.request",)
...
INSTALLED_APPS = (
...
'profapp',
'bootstrap_toolkit'
)Now you can run manage.py
$ ../bin/python manage.py syncdb $ ../bin/python manage.py collectstatic $ ../bin/python manage.py runserver
And you have a fully functional development server!
There is still very very much to do before this is alpha. This is a roadmap mockup:
- Buildout project structure.
- List/Create/Update/Delete each content type:
- Student
- This represents a student, ideally it should communicate with LDAP.
- Semester Subject
- This is a subject per semesster. Each semester a professor should need to create a new set of these for each subject.
- Exam
- This is an exam.
- Grade
- A student’s grade on a specific exam.
- Copy semester subjects from old years.
- Grade exports for semester subjects.
- Graphic design
- Searching: Find a smart way to make searching efficient.
- Professor accounts.