This is an API for a Discussion Board which works quite similar to Stackoverflow or Github Issues, on a smaller scale.
It allows user authentication, updating user records, making posts (opening discussion topics), close said topics and implements authorization to prevent user data from being manipulated or modified by other users. Posts can also be paginated avoiding longer loading times.
The highlight of this API is the comments/responsding feature. This feature allows users to make replies in deep threads, similar to Reddit's comment system.
Tools and Technologies used
The API was built using Python's Flask module. Flask is a lightweight module which is highly recommened when building web applications or APIs.
For the frontend, ReactJS was used. ReactJS is a popular JavaScript framework developed by Facebook. React is a stateful framework, which made data fetching and storing very efficient.
Getting Setup
Create an environment using python -m venv ./{env_name} in the root directory.
Activate the environment by executing source ./bin/activate. For Windows, source ./Scrpits/activate. Now you should see your environment name prefixed in brackets on your shell.
Install the required libraries: pip install -r requirements.txt.
When running the application, you will need to create a .env file (a sample file is available) with your credentials and secrets. Make sure to change the mode from development to production in app.py and run.py.