Skip to content

Available Templates

When installed, koodu also contains a series of templates that can be used to generate code for web applications based on a number of well-known frameworks.

FastApi Template

With our FastApi template users are able to generate projects with the following structure:

output/
├── project_name
   ├── __init__.py
   ├── routers/
      ├── __init__.py
      ├── *.py
   ├── schemas/
      ├── __init__.py
      ├── *.py
   ├── database.py
   ├── dependencies.py
   ├── main.py
   ├── models.py
├── Dockerfile
├── Makefile
├── manage.py
├── README.md
└── requirements.txt
  • models.py: contains de definition of our models.
  • manage.py: This is a cli tool to manage database migration in app.
  • The routers: folder contains differents python file(one for each resource) and each file contains the differents endpoint(CRUD) implementation for the ressource.
  • The schemas: folder contains differents python file(one for each resource) and each file contains the Schemas definitions for that ressource.
  • Dokerfile: the Dockerfile manifest to build the app as docker image.

The generated project use the following external paquets

  • sqlalchemy
  • pydantic

Django Template

With our Django template users are able to generate projects with the following structure:

output/
├── project_name
   ├── project_name_api/
      ├── __init__.py
      ├── migrations/
         ├── __init__.py
      ├── admin.py
      ├── apps.py
      ├── models.py
      ├── serializers.py
      ├── tests.py
      ├── urls.py
      ├── views.py
   ├── config/
      ├── __init__.py
      ├── asgi.py
      ├── settings.py
      ├── urls.py
      ├── views.py
      ├── wsgi.py
├── manage.py
├── README.md
└── requirements.txt
  • config/: directory is the actual Python package for your project.
  • manage.py: A command-line utility that lets you interact with this Django project in various ways. You can read all the details about manage.py in django-admin and manage.py.
  • project_name_api/migrations: The directory that will contain project's migrations.
  • project_name_api/admin.py: This will contain the administration for the app.
  • project_name_api/apps.py: This content our app configurations.
  • project_name_api/models.py: Our models are located in this file.
  • project_name_api/serializers.py: This has the differents serializers (one for each model).
  • project_name_api/tests.py: This will containts the tests for our api's endpoints.
  • project_name_api/urls.py: This contains the urls definition od ours endpoints.
  • project_name_api/views.py: This will contains ours views.

The generated project use the following external paquets

  • django
  • django rest framework

Flask Template

With our Flask template users are able to generate projects with the following structure:

output/
├── project_name/
   ├── __init__.py
   ├── api/
      ├──__init__.py
      ├──ressouce/
         ├── controllers.py
         ├── fields.py
         ├── parsers.py
   ├── models.py
├── manage.py
├── README.md
└── requirements.txt
  • models.py: contains de definition of our models.
  • api: folder contains differents folder(one for each resource) and each of these folders has:
    • controllers.py: The controllers for the resource.
    • fields.py: The fields for the ressource.
    • parsers.py: The parsers for the resource.
  • api/__init__.py: This is where the api is initialized as Blueprint.
  • __init__.py: the is where the Flask app itself is initialized.
  • manage.py: This is a cli tool to manage database migration in app.
  • Dokerfile: the Dockerfile manifest to build the app as docker image.

The generated project use the following external paquets

  • Flask-SqlAlchemy
  • Flask-Bcrypt
  • Flask-Migrate
  • Flask-RESTful
  • Flask-Cors
  • Flask-JWT-Extended

Express.Js Template

With our Express template users are able to generate projects with the following structure: