Home - MathparLearningTeam/Documentation GitHub Wiki
Introduction
Mathpar Learning is a part of Mathpar system which represents the distance education and monitoring component. To learn more about the system, please use the General information
tab on the right
General technical information
Mathpar Learning was designed with cloud technologies in mind which resulted in adopting microservices architecture in backend, CI/CD approach and B/G deployment.
Backend
Backend consist of the following services:
- Gateway (repository; Technologies: Java)
- Account (repository; Technologies: Java, MySQL)
- School (repository; Technologies: Java, MySQL)
- Tasks (repository; Technologies: Java, MySQL)
- Plans (repository; Technologies: Java, MySQL)
- Secrets Manager(repository; Technologies: Java)
CI/CD is implemented using Jenkins pipelines. They are available in the following repository.
B/G approach is implemented via scripts but currently isn't fully automatic and due to the low demand is disabled. Scripts for deployment are still in use by Jenkins pipelines and are available in the following repository
Frontend
Frontend is written in Vuejs and contains of single project available in the following repository. It is distributed using maven repository because all the assets are hosted by the Java service (Gateway service).
QA
QA is automated as per CI/CD requirement. There are 2 tiers of automatic QA:
- Unit tests for each module
- Test framework written in Java(framework: Cucumer) Unit tests are maintained by developers and are available in the appropriate folder in each module's repository. Api framework is developed as a separate service available in the following repository