Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dineshbyte/help-kart
https://github.com/dineshbyte/help-kart
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/dineshbyte/help-kart
- Owner: dineshbyte
- Created: 2022-05-30T09:46:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-31T15:25:50.000Z (almost 2 years ago)
- Last Synced: 2024-04-19T12:47:33.466Z (9 months ago)
- Language: Python
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Django Template
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
## Highlights
- Modern Python development with Python 3.8+
- Bleeding edge Django 3.1+
- Fully dockerized, local development via docker-compose.
- PostgreSQL
- Celery tasks### Features built-in
- JSON Web Token authentication using [Simple JWT](https://django-rest-framework-simplejwt.readthedocs.io/en/latest/)
- API Throttling enabled
- Password reset endpoints
- Sentry setup
- Swagger API docs out-of-the-box
- Code formatter [black](https://black.readthedocs.io/en/stable/)
- Tests (with mocking and factories) with code-coverage support## API Docs
API documentation is automatically generated using Swagger. You can view documention by visiting this [link](http://localhost:8000/swagger).
## Prerequisites
If you are familiar with Docker, then you just need [Docker](https://docs.docker.com/docker-for-mac/install/). If you don't want to use Docker, then you just need Python3 and Postgres installed.
## Local Development with Docker
Start the dev server for local development:
```bash
cp .env.dist .env
docker-compose up
```Run a command inside the docker container:
```bash
docker-compose run --rm web [command]
```## Local Development without Docker
### Install
```bash
python3 -m venv venv
source venv/bin/activate # activate venv
cp .env.dist .env # create .env file and fill-in DB info
pip install -r requirements/dev.txt # install py requirements
./manage.py migrate # run migrations
./manage.py collectstatic --noinput # collect static files
redis-server # run redis locally for celery
celery -A src.config worker --beat --loglevel=debug
--pidfile="./celerybeat.pid"
--scheduler django_celery_beat.schedulers:DatabaseScheduler # run celery beat and worker
```### Run dev server
This will run server on [http://localhost:8000](http://localhost:8000)
```bash
./manage.py runserver
```### Create superuser
If you want, you can create initial super-user with next command:
```bash
./manage.py createsuperuser
```### Running Tests
To run all tests with code-coverage report, simple run:
```bash
./manage.py test
```