IT project presentation

Ludovic Deneuville

automatic translation of the ‘Présentation élèves’ page

Objectives

  • Develop an application in Python
  • Discover software architecture
  • Communicate with a database and web services
  • Design and Model (UML)
  • Work as a team

An application

  • Database
  • Backend
  • Frontend
  • External API

Working environment

Important

You can code on:

  • a datalab (recommended)
  • the ENSAI VM

You can also code on your own machine, but you will be entirely responsible for managing the required installations.

Schedule

2 phases

  • Analysis / General Design (September)

    • 4 × 3-hour Mentoring sessions
    • end of September: feedback on the analysis document
  • Implementation (October - November)

    • 3 × 3-hour Mentoring sessions

Group work

  • Avoid combining the roles of Project Manager and Tech Lead
  • Team spirit
  • Discussion channel
  • Let me know as soon as possible if something is not going well

Day 1

  • Ask questions to the tutor
  • Discuss among yourselves (who knows how to do what)
  • Organize yourselves
  • Be proactive and take initiative

Mentoring

  • Weekly update MANDATORY

  • To be completed every week

    • by Thursday evening at the latest
    • by each member
    • otherwise a penalty for the team

Note

More details in the student guide.

Deliverables

Analysis Document

Your tutor has expressed a need:

  • Explain how to address it
  • Reformulate their request
  • Use the appropriate UML diagrams

Code

  • We expect quality code
  • Documentation mandatory for every class, every method
  • Unit tests required
  • README in English
  • Code in small increments

Final Report

  • Focus on interesting features
  • Refer to your figures
  • Proofread your work!
  • 💡 Use Typst with Quarto

To discuss with the tutor

  • Methods to test (service, DAO?)
  • Public / private visibility
  • Use of mypy

Template

Almost…

Tools