|
6 months ago | |
---|---|---|
CourseMaster | 6 months ago | |
redis_app | 6 months ago | |
test | 6 months ago | |
.gitignore | 6 months ago | |
LICENSE | 6 months ago | |
Pipfile | 6 months ago | |
Pipfile.lock | 6 months ago | |
README.md | 6 months ago | |
manage.py | 6 months ago |
README.md
Course Master - Django project
Installation
Install Python3
Install Python3
sudo apt-get install python31
Check installation with python3 --version
Then, install pip3 if not done yet.
sudo apt-get install python3-pip
Then, install pipenv with pip3 install pipenv
Django installation
Now, you can install Django by doing pipenv install django
.
This will create you a virtual environment and install Django into it.
### Django-Redis installation
Type pip install redis
to install redis.
To run the redis server, type docker run -d --name redis-stack -p 6379:6379 redis/redis-stack:latest
Configuration
In the repo folder, type pipenv shell
. This will lead you to the venv of the project.
Then, type python manage.py runserver
when you're in the repo root folder.
Usage
Now, you can go into http://localhost:8000/redis to access the project.
Don't try to go into http://localhost:8000/admin, you won't have the rights and it's only used for development mode. This helps us to add/remove data to test quicker.
Once a user is registered to a course, he's automatically subscribed to courses update for all courses he follows into the notifications page.
Limitations
This is a one-user app... You can't log in with 2 users.
To test pub/sub, please follow these instructions:
-
docker start redis-stack
-
docker exec -it redis-stack bash
-
redis-cli
-
psubscribe {id}
where the id is the course id where you will post messages from (with an update of the course or with Publish message). you can retrieve it withKEYS course:*
-
Update the course or post the message from this course id
OR
-
docker start redis-stack
-
docker exec -it redis-stack bash
-
redis-cli
-
Go to your notifications after registered to a course (if you didn't you will get redirected to the courses page, where you can see that you don't follow any course)
-
publish {id} {message}
where id is one of the course id followed by the current user, and message is your message
Expiration of the course: The course expires after 2 minutes.
Design is not existing yet.