-
Notifications
You must be signed in to change notification settings - Fork 1
[DRAFT] Drafts about the architecture of the project #34
Comments
Draft [DRAFT 3]TechnologiesBothProgramming languagesWe've decided to use JS in both the frontend and backend, becase we came to the conclusion that is simpler than java and that it is widely used in industry, so it is an interesting language to learn. The main problems that can arise from using this language is that our knowelge of it is quite limited and that we dont have the safety of type checking on compile time as the lenguage is dynamic so its harder to guarantee that the code will work properly (We need to pay more attention to tests as a result!). FrontendFramework (JS + HTML)For the frontend framework weve decided to use react thanks to the amount of avaiable resources on the technology, we consider it easier than vanilla JS and we hope it leads to a faster workflow, the main cons of using react is that currently none of us know it. Framework (CSS)For the CSS framework we've decided to use TailWindCSS because it leads to a faster developing experience than vanilla CSS, the main con of using TailWindCSS is that the resulting look and feel can look bland and "soul-less" as it is the same for every web page created using TailWind. BackendFrameworkFor the backend framework we've decided to use ExpressJS for the simplicity of it, and because we consider a way to develop the app faster. DatabaseFor the database we've decided to use MariaDB because in the team we are all familiar with SQL and MySQL syntaxt, and for a faster development experience we've decided to use an ORM (Specifically Sequelize),please see issue #3 for more information ServicesWeve decied to divide the app into two services (Each one contained in 1 docker container):
For verification and login services, you can log into the API which will return a jwt token with the user id, you can use the token to verify in the following requests to the api. |
I also propose a MicroServices architecture for the app, because it allows us to containerize and test each part of the application independently, we can sync them with a common database We should write down the microservices we plan on creating |
Id say its done |
Propuesta [DRAFT 1]
Tener 3 servicios principales: login, generador de preguntas y pagina web
La arquitectura de la aplicación seguiría el siguiente patrón:
Peticion externa-----> Servicio de login actuando como gateway ------> El resto de la aplicacion
Por lo que el unico puerto expuesto al exterior seria el puerto del servicio de login, el cual simplemente actua como una puerta que verifica que los usuarios sean validos, y en caso de que no lo sean les redirige a una pagina de login.
The text was updated successfully, but these errors were encountered: