Mecotronics Documentation

Project Brief

The main objective of this project is to develop a real-world application based on the object-oriented database Matisse. I had a few lectures on it during my degree and became fond of it, mainly because the languages I use on a daily basis (Java / C#) are object-oriented.

Naturally, a project based on pure objects fits this interest of mine best. Therefore, I decided to build an electronic shop with multiple applications for selling, managing, and purchasing electronic products.

Deliverables

By the end of this project, I aim to present the following applications:

These correspond to the different application projects that will be developed:

  1. Matisse Enterprise Management Project
  2. Spring Boot Project
  3. Inventory Application
  4. Point-of-Sale Application
  5. Web Application

Development Approach

There isn't a one-size-fits-all approach to developing an application of this magnitude. For the sake of my sanity—and to minimize major rewrites and refactoring—I've chosen to follow the Lean Startup methodology. Since this project consists of multiple applications, it would be unwise to fully design the database before building out the backend. If any issues arise later, they could require extensive refactoring. To avoid that, I’ll develop the database and backend in tandem and with an incremental approach. This allows me to quickly prototype features and make necessary changes along the way.