Developer Starter Kit

Content

Overview module: Conceptual Software Architecture & used frameworks and standards

Objectives

  • provide a general understanding on how the (new) modular architecture works, distinction between frontend and backend, what are ‘modules’

  • brief recap of used standards (GraphQL, …) and frameworks (django, graphene, React,…) and pointers to existing resources on the web to use as reference

Tutorial

source: https://www.youtube.com/watch?v=JdmsB7CFEhY

Backend - 1: Setup backend development environment and create a new (basic) module

Objectives

  • provide a sample (autonomous) development tools setup (venv, pycharm, MSQ-SQL in docker,…)

  • get up and running and create a new module, connected to the database (new model, with django migration,….)

  • exposing the entities for GraphQL queries and mutations

Supportive material

Project folder at end of video: (except for venv folder that is too large)

 

Tutorial

source: https://www.youtube.com/watch?v=IG6qa7Dr6PE

Backend - 2: Features in a ‘real life’ backend module

Objectives

  • access rights enforcement

  • module dependencies (for GraphQL but also event-based communications between modules)

  • i18n in backend

  • unit-testing

Tutorial

source: https://www.youtube.com/watch?v=wODb0ro0QdE

Backend - 3: Batch processing and reports

Objectives

  • triggering (scheduling) a batch processing (python service) and following (monitoring) its execution

  • generating a pdf with country-customizable template

Tutorial

source: https://www.youtube.com/watch?v=4otgHhQZWJk

Frontend-1: Setup frontend development environment and create a new (basic) module

Objectives

  • provide a sample (autonomous) development tools setup (yarn, visual code,…)

  • get up and running and create a new module (+ i18n), with a main menu entry and connected to the backend (GraphQL queries,…)

Supportive material

Code written in the video (openimis-fe-my_module_js):

Tutorial

source: https://www.youtube.com/watch?v=9xkeysjnW3A

Frontend-2: Features in a ‘real life’ frontend module

Objectives

  • Pagination

  • Mutation (and events & PublishedComponents)

  • Contributions

  • JSON - extensible models

Supportive material

Code written in the video (openimis-fe-my_module_js):

Tutorial

source: https://www.youtube.com/watch?v=FRtRoJPt1Lw

 

Workshop with BlueSquare

CANCELLED - We are organizing a workshop on November 19th from 10am to 12 Brussels time to further the knowledge transfer and answer remaining questions.

As we did not receive any questions in the comments section, we decided to cancel this workshop.

We are aware that support may be needed, so we will reach out to you in the days ahead how to use this time the best and answer any further questions you may have.

Although the event was cancelled, an informal list of questions have been answered as prolongation of the developpers weekly meeting: https://openimis.atlassian.net/wiki/spaces/OP/pages/1938489348