The backend uses the following technologies:
- FastAPI for the application itself.
- PostgreSQL for database.
- SQLModel for handling PostgreSQL interactions
- Render for handling deployments,
- Pytest for handling tests,
- Alembic for handling database migrations,
- GitHub action for handling CI/CD pipeline
- pyJWT for handling JSON WEB TOKEN,
This application can be run locally, check app/utils/commands for the commands used during development.
Clone the repo -:
$ git clone https://github.com/lawalAfeez820/app-social.git
Clone the repo in the current directory-:
$ git clone https://github.com/lawalAfeez820/app-social.git .
Start by creating a virtual environment - windows:
$ py3 -m venv venv
$ . venv/bin/activate
Install the application's requirement:
$ pip install -r requirements.txt
Create a .env
file and replace the values of .env.sample
into .env
:
$ cp .env.sample .env
Run the application:
$ uvicorn app.main:app --reload
After install each package run:
$ pip freeze > requirements.txt
Features, bug fixes, improvements etc are to be made in a different branch after which PRs will be sent for review before merging.