Course + Assist, get it?
This project is intended for university students all around the world.
The main features that this project supplies are:
- Social course review system.
- Semestrial courses schedule building tool.
- Course program planning for the entire degree.
Important: You will need python 3.7+ to run this project.
- Clone the project.
- Create a virtual environment
(if you use
Pycharm, you can do it like that). - In the terminal, make sure that when you type
pythonyou use the virtual environment's python
(If you usePycharmthat will happen by default in the integrated terminal, otherwise you will need to use the source command). - Run
make install(if you dont havemakeinstalled, just run the commands underinstallinside theMakefile).
- To build the docker image inside the project root directory:
docker build -t coursist:latest .- To run the server locally on port
8000:
docker run -it -p 8000:8000 coursist:latest 0.0.0.0:8000Login as usual to: http://localhost:8000/
First, you need to run the local server:
- Run
python manage.py runserver(If you usePycharmit should detect this is a Django project, so you will be able to run the server without a terminal command). - Open http://localhost:8000 in your preferred web browser.
If everything went well, the server is now running on your local machine.
You can use the site as a regular user (Facebook and Google login won't work).
The installation process also created an admin user: its user name is admin and the password is 123456.
Open http://localhost:8000/admin and log in with your admin user.
Now you can see and control the entire database and the system's models.
The server allows to run these custom commands:
python manage.py dev_init: Initiates the database with dummy data for development purposes.python manage.py fetch_courses: Retrieves courses data from HUJI servers.
Runpython manage.py help fetch_coursesto learn about thelimitandfetch_existingarguments.
- Inside github, fork the upstream repository.
- Clone your own fork of the project.
- Before starting to implement a new feature or a bug fix, make sure to pull
master(ordevelop) branch from the upstream repository, and only then create your branch. - While developing, please add and fix any relevant tests.
- Before opening a PR, make sure to use both
python manage.py testto test that everything still works, and usemake blackto achieve well-formatted code. - Push your code and open a PR against the upstream repository
developbranch.
- Styles template: https://bootswatch.com/litera/
- Rating system: https://github.com/wildfish/django-star-ratings
- DB backup: https://django-dbbackup.readthedocs.io/en/stable/index.html
- Cron jobs: https://django-cron.readthedocs.io/en/latest/index.html
This project is part of the Open Source Workshop (67118) course team project.