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
python
you use the virtual environment's python
(If you usePycharm
that will happen by default in the integrated terminal, otherwise you will need to use the source command). - Run
make install
(if you dont havemake
installed, just run the commands underinstall
inside 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:8000
Login as usual to: http://localhost:8000/
First, you need to run the local server:
- Run
python manage.py runserver
(If you usePycharm
it 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_courses
to learn about thelimit
andfetch_existing
arguments.
- 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 test
to test that everything still works, and usemake black
to achieve well-formatted code. - Push your code and open a PR against the upstream repository
develop
branch.
- 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.