Paniety is a Python based Django project developed by the Reed College Software Design Studio. This web application is meant to provide online tutoring to Reed College students. Some of the features include:
- Instant messaging with tutors
- Forum-style discussion pages
- Search function for finding courses
- Elegant responsive design
Before we get into the setup process, let's talk about some of the Django apps that we used as part of our project. Spirit is a modern Python based forum built on top of Django framework, which we used as a foundation for our forum application. Django Private Chat is a Django one-to-one Websocket-based Asyncio-handled chat, developed by Bearle team.
Here is how to start running the project!
- Make a new virtualenv with python 3.6. If you have virtualenvwrapper, you can do this with
mkvirtualenv paneity -p python3
. Afterwords, typepython -V
to make sure you have the right version. - Install postgres. If you're on a mac, the easiest way to do that is with the postgres app.
- Clone the repo.
git clone git@github.com:reed-college/paneity.git
orgit clone https://github.com/reed-college/paneity.git
- Set up spirit. Go out of you paneity directory (
cd ..
) and typegit clone git@github.com:reed-college/Spirit.git
. When you're done, your file structure should look something like this:
foldername
├── paneity
│ ├── paneity
│ ├── manage.py
│ └── ...
└── Spirit
├── example
├── spirit
└── ...
- install the packages.
cd
into the repo and typepip install -r requirements.txt
- Set up postgres.
- Open psql, or if you're in the postgres app click the '⛁' symbol that says 'postgres' below it.
- Type the commands on this page
python manage.py migrate
python manage.py collectstatic
. This moves all of the.css
and.js
files from their different places in the repo into the/static/
directorypython manage.py runserver
- Go to
localhost:8000
in your browser and there should be something there! - In another terminal, activate your virtualenv and in the paniety directory type
python manage.py run_chat_server
. This will let you test out the chat functionality - (optional) if you want to put some data in your db, run
python manage.py loaddata subjects courses users questions chats
To run our test suite, use the python manage.py test tutor
command in the root directory for Paneity.
You should take a look at our wiki for more information.
Homepage of Paneity Tutoring Application Forum Question Example Tutoring Mainpage Mock-up of Available Tutoring for BIOLOGY 102 Instant Messaging Feature