Job description
P.S.: The task may sound complex, but most things are already prepared—it’s just a matter of putting them together. For those interested, we will provide the details and access to the repository.
The project involves the first phase, which focuses on developing the architecture, documentation, and defining data types. A large portion (e.g., Views, Presenter, etc.) is already coded; it just needs verification for correctness.
1. Designing the Architecture for the Web-Shop Application
- Data Models – Representation of products and orders.
- Views – UI components handling user interactions.
- Communication Layer – An event broker ensuring loose coupling between components.
- Component Isolation & Responsibility – Implementing proper separation following the Single Responsibility Principle and Separation of Concerns.
- Cart Handling & Purchase Process Logic – Implementing the logic for managing the shopping cart and transactions.
2. Architecture Documentation
- Description of the code structure and its division into components.
- Explanation of design patterns used (e.g., MVP).
- Instructions for building and running the application.
-UML diagram (optional).
3. Defining Data Types (TypeScript)
- Data models for products, cart, and orders.
- API interfaces for fetching and sending data.
-Event types, if the application uses an event broker.
- Storing types in src/types/ and ensuring linting errors are resolved.
✅ Provided initial code, which includes:
- Ready-to-use HTML code.
-Basic development utilities (HTML helpers, event broker, API client).
- Preconfigured development tools.