Skip to content

chaitinschool/chaitinschool.org

Repository files navigation

chaitinschool.org

Chaitin School of Software Engineering.

Development

This is a Django codebase. Check out the Django docs for general technical documentation.

Structure

The Django project is chaitin. There is one Django app, main, with all business logic. Application CLI commands are generally divided into two categories, those under python manage.py and those under make.

├── ...
├── Makefile
├── manage.py
├── chaitin
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── main
    ├── ...
    ├── migrations/
    ├── templates/
    ├── static/
    ├── apps.py
    ├── urls.py
    ├── models.py
    └── views.py

Dependencies

Using venv:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -r requirements_dev.txt

This project also uses pip-tools for dependency management.

Serve

To run the Django development server:

python manage.py runserver

Testing

Using the Django test runner:

make test

For coverage, run:

make cov

Code linting & formatting

The following tools are used for code linting and formatting:

  • black for code formatting.
  • isort for imports order consistency.
  • flake8 for code linting.

To use:

make format
make lint

License

This software is licensed under the MIT license. For more information, read the LICENSE file.