Forum Server is a back-end API created with Django that utilized PostgreSQL to store and retrieve data about Posts, Comments, and Likes for the "Let's Talk" forum client application.
- Deployed Client Application: https://areeshz.github.io/forum-client/
- Deployed Forum API: https://forum-server-capstone.herokuapp.com/
- Front-End Repository: https://github.com/areeshz/forum-client
- Python
- Django
- Django REST Framework
- PostgreSQL
Verb | URI Pattern | Controller#Action |
---|---|---|
POST | /sign-up/ |
users#signup |
POST | /sign-in/ |
users#signin |
DELETE | /sign-out |
users#signout |
PATCH | /change-password/ |
users#changepw |
GET | /posts |
posts#index |
POST | /posts/ |
posts#create |
GET | /posts/:id |
posts#show |
PATCH | /posts/:id |
posts#update |
DELETE | /posts/:id |
posts#destroy |
POST | /comments/ |
comments#create |
PATCH | /comments/:id |
comments#update |
DELETE | /comments/:id |
comments#destroy |
GET | /likes |
likes#index |
POST | /likes/ |
likes#create |
DELETE | /likes/ |
likes#destroy |
GET | /likes/:id |
likes#show |
Development of this server came in several iterations, each adding another feature for the Let's Talk forum client application to utilize. After development of the ERD, models and views were created for the 'Post' resource. Next, models and views were created for the 'Comment' resource. Last was the 'Like' resource, which created a many-to-many relationship between users and posts.
Future iterations of this server would attempt to enable additional features present in mainstream forum websites, such as allowing a user to make a comment on a comment (create threads).
- Fork and clone this repository.
- Run
pipenv shell
to enter the virtual environment - Create a database named
forum_server_dev
in PostgreSQL by runningpsql
to enter the shell, and thenCREATE DATABASE forum_server_dev
- In your terminal, run
python manage.py makemigrations
andpython manage.py migrate
to ensure your database is up to date - Run
python manage.py runserver
to spin up your local server