Skip to content

Step by Step guide to app development.

This guide intends to define each step to create a development environement and all tools usage and setup.

Design and dev tools set

Howto collect and organize requirments and ideas ?

  • User Interface prototyping : Penpot

Howto manage content and sources ?

  • source management : Gitlab

Framework setup

template-base - general purpose template:

  • Create gitlab repository
  • Configure folder hieararchy
  • Create ReadMe english
  • Configure branch standards
  • Configure commit message standards
  • Configure issue message standards
  • Configure merge message standards
  • Configure labels list
  • Configure board structure
  • Configure .gitignore
  • Export template repo (workaround for gitlab CE)

litestar-template gitlab template

  • Create gitlab repository by importing template-base
  • Create .toml peotry setup
  • Create .env and .env.dev

Documentation setup

Principles

  • primary language : English
  • folder structure compatible with mkdocs generation
  • per language folder with INCLUDE mkdocs

Structure

docs/
┣ project/
┃ ┣ EN/
┃ ┃ ┣ docs/
┃ ┃ ┃ ┣ assets/
┃ ┃ ┃ ┃ ┗ image.png
┃ ┃ ┃ ┣ designs/  --> Store design (UI, Data, UML)
┃ ┃ ┃ ┣ learnings/
┃ ┃ ┃ ┃ ┣ dev_step_by_step_checklist.md
┃ ┃ ┃ ┃ ┣ Learning_curiculum.md
┃ ┃ ┃ ┃ ┣ dev_tools_utilities.md
┃ ┃ ┃ ┃ ┣ howto_....md
┃ ┃ ┃ ┃ ┣ project_notes_en.md
┃ ┃ ┃ ┃ ┗ style-guide.md
┃ ┃ ┃ ┣ overrides/
┃ ┃ ┃ ┃ ┗ partials/
┃ ┃ ┃ ┣ stylesheets/
┃ ┃ ┃ ┃ ┗ extra.css
┃ ┃ ┃ ┣ 00_pitch.md
┃ ┃ ┃ ┣ 01_product_summary.md
┃ ┃ ┃ ┣ 02_roadmap.md
┃ ┃ ┃ ┣ 03_functionnal_architecture.md
┃ ┃ ┃ ┣ 04_technical _architecture.md
┃ ┃ ┃ ┣ 05_product _architecture.md
┃ ┃ ┃ ┣ 09_project_organization.md
┃ ┃ ┃ ┣ 10_standard_principles.md
┃ ┃ ┃ ┗ 90_think_tank.md
┃ ┃ ┗ mkdocs.yml
┃ ┗ FR/
┃   ┣ docs/
┃ ┃ ┃ ┗ ...
┃   ┗ mkdocs.yml
┣ resources/
┃ ┣ assets/
┃ ┃ ┣ obikio-banner.png
┃ ┃ ┗ obikio-icon.png
┃ ┣ site/
┃ ┃ ┗ index.html
┃ ┗ templates_snippets/
┃   ┣ .env.dev
┃   ┣ .gitignore
┃   ┣ README.md
┃   ┗ pyproject.toml
┗ README.md
  • Diffusion : write a .gitlab.ci publication script
  • Presentaion : create a style_guide.md to store all styles standards description

Product design steps

  • open a "thinktank" file to gather all ideas, suggestions or possible features
  • write a short project summary to be used a pitch ( what, why, how)
  • write a product description defining key objectives, user target, key functions and data object
  • select a business case over 3 most signifiants.
  • prototype UI of this business case to collect user feebacks (see PENPOT tool)
  • create a directory to store Design files and models (docs/designs)
  • prototype data object using examples