đź“— Software Architecture based on C4Model
I'm missing fourth layer XD
Level 1: System Context diagram
At MĂ©xico, CDMX there are two mainly companies offering theaters to see movies, Cinepolis and Cinemex, the system will collect information from both websites and put it together in a simple Web UI so the user don't have to look for the same movie into two different web pages.
So Movies Collector System is intended to help anyone to find an scheduled movie and their details as date, time, location, distance, duration and of course which brand is offering it.
Scope: A single software system which will be "serverless" and will be handle it by CI/CD.
Primary elements: Our users will be anyone looking for a movie and some theater to go to watch it. Cinepolis and Cinemex both are Mexican movie theater chain with theaters around all the country.
Intended audience: Everybody, both technical and non-technical people, inside and outside of the software development team.
/1 Movies Collector System
Level 2: Container diagram
Scope: A single software system.
Primary elements: Containers within the software system in scope. Supporting elements: People and software systems directly connected to the containers.
Intended audience: Technical people inside and outside of the software development team; including software architects, developers and operations/support staff.
Notes: This diagram says nothing about deployment scenarios, clustering, replication, failover, etc.
/1 Movies Collector System/API Application
Level 3: Component diagram
Technologies: Javascript and NodeJS as runtime environment.
Other main technologies: Apollo server, graphql and serverless framework.
Scope: A single container.
Primary elements: Components within the container in scope. Supporting elements: Containers (within the software system in scope) plus people and software systems directly connected to the components.
Intended audience: Software architects and developers.
/1 Movies Collector System/CLI Application
Level 3: Component diagram
Technologies: Javascript and NodeJS as runtime environment.
Other main technologies: Puppeteer
Scope: A single container.
Primary elements: Components within the container in scope. Supporting elements: Containers (within the software system in scope) plus people and software systems directly connected to the components.
Intended audience: Software architects and developers.
/1 Movies Collector System/Web Application
Level 3: Component diagram
Technologies: React, Apollo client and react95.
Scope: A single container.
Primary elements: Components within the container in scope. Supporting elements: Containers (within the software system in scope) plus people and software systems directly connected to the components.
Intended audience: Software architects and developers.
/2 Deployment
Deployment diagram API
All the backend systems are hosted in AWS, only database it's hosted in MongoDB Atlas service. CI/CD handle by jenkins & serverless framework
AWS Technologies: Route 53, CloudFront, S3, API Gateway, Lambda, Cloud Watch, Container Service, Code Build and EC2.
Other main technologies: Jenkins CI/CD, Dockers, Serverless Framework, Github hooks
Scope: A single software system.
Primary elements: Deployment nodes and containers within the software system in scope.
Intended audience: Technical people inside and outside of the software development team; including software architects, developers and operations/support staff.
/2 Deployment/API Application
/2 Deployment/CLI Application
/2 Deployment/Web Application