Skip to content

Hive-Fundraiser/Hive-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐝 Hive Fundraiser - Backend 🐝

Welcome to the Hive Fundraiser backend repository. This project was created for a software testing lesson. This is where all the magic happens to support our fundraising platform.

πŸš€ Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

git clone https://github.com/Hive-Fundraiser/Hive-Backend.git

πŸ“‹ Running project with docker β›΄

docker compose up

πŸ”§ Running project with virtual env

pip install virtualenv

Windows setup:

#creating the enviroment
python -m venv venv

#activating the enviroment
venv\Scripts\activate

#deactivating enviroment
deactivate

Linux and Mac setup:

#creating the enviroment
python -m venv venv

#activating the enviroment
source venv/bin/activate

#deactivating enviroment
deactivate

then installing the requirements:

pip install -r requirements.txt

Running the Project

in order to run the project you need to use either ways below

default and development settings

python manage.py runserver 

πŸƒ Running the tests

pytest .

πŸ› οΈ Built With

  • django - Django framework
  • nginx - Nginx
  • posgressql - Posgres sql for database

πŸ“š Curriculum

  • Setting up project with Docker (dockerfile/docker-compose)
  • Setup Django Model for a Blog and AbstractBaseUser
  • Implement Class Based Views
  • Django RestFramework and Serializers (FBV)
  • ClassBasedViews in RestFramework (views,generic,viewset)
  • Api Documentation with swagger and redoc
  • Authentication API (Token/JWT)
  • Reformat and Lint (flake8,black)
  • Django TestCase and PyTest
  • Django CI with github actions
  • Populate Database with Faker and Django Commands
  • Cores Headers
  • Load Testing with Locust
  • Get ready for deploy (gunicorn/nginx)
  • Use postgres sql as a database
  • Use google smtp server

πŸ“ Model Schema

Model Schema

🀝 Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

πŸŽ‰ Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

πŸ‘₯ Authors

See also the list of contributors who participated in this project.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE.md file for details

πŸ™ Acknowledgments

  • Hat tip to anyone whose code was used
  • Inspiration
  • etc