Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
adriiglz committed Apr 28, 2024
1 parent d6673e6 commit 76d2e69
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 0 deletions.
21 changes: 21 additions & 0 deletions docs/src/09_architecture_decisions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,27 @@ There you will find links and examples about ADR.
| Decided
| *Oracle Cloud* - All advantages

| Infrastructure design
| Oracle ARM VM with multiple containers inside - Running containers in this VM is free
| Decided
| Oracle ARM VM with multiple containers inside - It is free

| What CI/CD pipeline should we use
| *Github Actions* - Already integrated in the project and fits perfectly our needs for deployment, developing and testing.
*Azure DevOps* - It is more integrated with Azure cloud, where we could have our infraestructure deployed with Terraform using IaC.
| Pending
| Azure Devops would be a better approach for deploying our infraestructure in Azure containers (serverless) using IaC with Terraform, but there is a lack of time for migrating and GitHub Actions is already integrated and working fine.

| Local or cloud data base
| *Local* - There is no need to externalize things that should keep local.
| Decided
| Local database - Database is kept in local for security reasons and for not overdesigning the infraestructure

| New microservice for Rankings
| Removing ranking logic from users microservice - It might be a better design as user logic and ranking logic is not exactly the same.
| Decided
| Keep rankings logic in users microservice - It would make sense to separate services if they scaled too much but in this project this would be overdesign.

| Which technologies are we going to use for developing the front end
| React - It is a modern framework which is easy to learn and provides usefull predefined components that save time
| Decided
Expand Down
10 changes: 10 additions & 0 deletions docs/src/11_technical_risks.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,14 @@ See https://docs.arc42.org/section-11/[Risks and Technical Debt] in the arc42 do
|Low - The difference is, a priori, merely functional, but retains the needed characteristics
|Upgrade only if a newer version supports 'require'

|Lack of a security barrier for DDOS attacks
|Lack of knowledge and time for implementing it into the project
|A DDOS attack can make the application crash
|Integrate CloudFlare into the project

|Questions types
|The design was optimized for image based questions and adding new categories easily.
|It would be difficult to add questions that do not rely on images. For example, text based questions.
|Refactoring questions microservice to include new types of questions.

|===
18 changes: 18 additions & 0 deletions docs/src/12_glossary.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,24 @@ See https://docs.arc42.org/section-12/[Glossary] in the arc42 documentation.
|Microservice
|Small and independent component that performs a specific business function

|CI/CD pipeline
|A series of steps that are carried out to obtain a new software product from its development phase to its deployment

|ARM
|A type of processor architecture designed for power efficiency

|MERN stack
|A group of web technologies for developing web applications: MongoDB, Express, React and Node

|Docker containers
|Packets that include all the software needed for running a service

|Oracle Cloud
|Cloud infraestructure provider (e.g Virtual Machines)

|Gateway
|All the endpoints visible for the client, that will redirect to specific microservice API

|API
|Set of endpoints exposed by the backend server whose purpose is interacting with the client-side
|===

0 comments on commit 76d2e69

Please sign in to comment.