Single-page forum application that aims to be clean and simple.
The frontend is a fast, interactive and simple Single-Page-Application (SPA), written in ES6 Javascript and built with following technologies:
The backend provides data through its RESTful API (browseable API available), written in Python and built with following technologies:
API endpoint for Demo using PostgreSQL: https://rengorum.endiliey.com/api
List of available API (browseable) at /api
* /user/
* /user/login/
* /user/register/
* /user/logout/
* /user/{username}/
* /user/{username}/edit
* /user/{username}/delete
* /forum/
* /forum/create/
* /forum/{slug}/
* /forum/{slug}/edit/
* /forum/{slug}/delete/
* /thread/
* /thread/create/
* /thread/{id}/
* /thread/{id}/edit/
* /thread/{id}/delete/
* /post/
* /post/create/
* /post/{id}/
* /post/{id}/edit/
* /post/{id}/delete/
Make sure you have following software installed in your system:
- Python 3
- Node.js
- NPM / Yarn
- Git
First, we need to clone the repository
git clone https://github.com/endiliey/rengorum.git
Setup a virtualenv
pip install virtualenv
Create an isolated environments through virtualenv, note that it must be Python 3, because I'm using latest Django version (v2)
cd rengorum/backend
virtualenv venv -p python3
Activate virtualenv
source venv/bin/activate
Install all required dependencies for backend by typing
pip install -r requirements.txt
Copy the .env.example as .env in backend folder
cp .env.example .env
Install all required dependencies for frontend in rengorum/frontend folder by typing
cd ../frontend
npm install
Copy the .env.example as .env in frontend folder
cp .env.example .env
*Note: Exit python virtualenv by
deactivate
Make sure you've activated your virtualenv, activate by
cd backend
source venv/bin/activate
Make sure backend testcases that I've wrote is not failing
python manage.py test
Then run the server, api endpoint should be available on http://localhost:8000/api
python manage.py runserver
Make sure you've installed all the dependencies for frontend before, then
cd frontend
npm start
Frontend should be available on http://localhost:3000/