Create mock-upGitHubAboutDevelopmentLicenseFeedback

Development.

Copyright (c) 2024 Saveliy Andronov.Tracking of tasks was done using GitHub Projects (👎).

The development of the project was divided into several stages:
1) Development of software requirements;
2) Design development;
3) Module development;
4) Application development

1. Development of software requirements.

Before starting to develop the code base, the requirements to the software product were thought over. Functional and user requirements, quality attributes were formulated; a data dictionary and a dictionary of terms were compiled.A unique ID is created for each requirement. At the stage the code writing phase, the ID of the requirement to be implemented is marked in the comment; this makes it easy to find the implementation of a particular requirement in the code base. In the book «Development of software requirements» by Carl Vigers & Jay Beatty, this approach is called requirements tracking.

2. Design development.

The design of the application was developed in Figma/Photoshop. The design was developed in accordance with the previously developed software requirements.

3. Module development.

The project is separated into modules and application; modules are responsible for implementing the business logic; application is responsible for rendering the UI and executing the business logic through the modules. Thus, the application (in this case, the NextJS framework) is responsible only for displaying the UI, while the modules contain all the business logic. Each module performs only one task and should not interact with other modules in any way.The purpose of this separation is to separate business logic from fickle and windy frameworks and libraries that have nothing to do with business logic. The modules are designed in such a way that they can be used independently of the framework; this makes it very easy to migrate from ReactJS to VueJS, for example.

4. Application development.

Creating an application UI and using already developed modules in it.Read full documentation on GitHub