/django-aio

Django AIO pre-configured django project

Primary LanguagePython

Django AIO

Django AIO

travis-ci Coverage Status

Features I thought About

Django AIO (All-In-One) to get project ready to develop with my flavor configurations.

All in one pre-configured and prepared as django project, your project will be ready to use:

  1. Django
  2. Celery
  3. Channels
  4. Postgres
  5. Redis
  6. DRF (Django REST Framework, Swagger, JWT)

Also has some features' customization:

  1. Custom User
  2. Custom sending Mail
  3. Sending Notification via channels
  4. login everything in the system
  5. custom sample data loader python manage.py load_new and migrations reseter python manage.py reseter
  6. custom utils functions
  7. easy to deployments
  8. easy to translate
  9. separating config/ for configurations and main/ for all apps, static, templates
  10. Pre-configured API using JWT authentication and swagger-ui

Getting Started

In your terminal for Unix (Linux/Mac)

pip install virtualenv

git clone https://github.com/101t/django-aio --depth 1

cd django-aio/

virtualenv -p python3 env

source env/bin/activate

pip install -r requirements.txt

cp sample.env .env

python manage.py migrate

python manage.py load_new

python manage.py runserver

In Command Prompt for Windows

python -m pip install virtualenv

git clone https://github.com/101t/django-aio --depth 1

cd django-aio/

virtualenv env

env/Scripts/activate

pip install -r requirements.txt

copy sample.env .env

python manage.py migrate

python manage.py load_new

python manage.py runserver

Or using as new project templates

django-admin.py startproject --template=https://github.com/101t/django-aio/archive/latest.zip --extension=py,gitignore YOUR_PROJECT_NAME

Note: the admin user automatically added to project as default administrator user, the credentials authentication is Username: admin, Password: secret.

Development

Prepare Translations

Adding translation made easy by this commands

cd django-aio/main/

django-admin makemessages -l en

django-admin compilemessages

Note: make sure you have gettext installed in your Unix Environment

# using gettext in ubuntu or macOS
msgunfmt [django.mo] > [django.po]

Run Celery

To run your celery in development

make run_celery

Run Django

To run django in development as HTTP

make run

Conclusion

The django-aio [Django All-in-One] repository is the result of years of development to starts from the middle of project-life. The repository represent predefined goals and base templates for django frameworks and its beautiful 3rd-party packages.