The Wall App is a website that allows users to register, login, and write on a wall.
-
Registration / Login: Anonymous users can create a new user and this new user receives a welcome email. New users can then log in.
-
Wall (authed): After logging in, a user can post messages on the site-wide wall, similar to a Facebook wall except there is only one wall for the entire site.
-
Wall (guest): Guests as well as authed users can see all of the messages on the wall.
Install virtualenv
On macOS and Linux:
$ python3 -m pip install --user virtualenv
On Windows:
$ py -m pip install --user virtualenv
Create virtualenv
On macOS and Linux:
$ python3 -m venv env
On Windows:
$ py -m venv env
Activate virtualenv
$ source env/bin/activate
Install all project dependencies
$ pip install -r /requirements.txt
You can run the application from the command line with manage.py. Go to the root folder of the application.
First run:
$ cd app/
Run migrations:
$ python manage.py migrate
Run server on port 8000:
$ python manage.py runserver 8000
It is recommended to run the app using docker:
here you can read more about docker
- Docker Documentation (https://docs.docker.com/)
Build the Docker image:
$ docker-compose up --build
To run the unit tests, run this command inside app folder:
$ python manage.py test && flake8
If you are using docker, run this command inside app folder:
$ docker-compose run app sh -c "python manage.py test && flake8"
Postman API collection link: wall-api Postman collection
Travis CI: wall-api Travis CI link