Skip to content

Meeting 01 Jan 16th 2022

Nirav Raje edited this page Jan 24, 2022 · 3 revisions

Meeting 1 Discussion:

Frontend/UI:

React.js

  • More closer to core JavaScript than Angular.js.
  • React.js is library, Angular is a framework. Hence, React.js would provide more flexibility.
  • We will mostly use React.js.

Angular.js

  • More complex, less flexibility.

Backend

3 languages to be used for microservices:

  • TypeScript: Major tasks like authentication
  • Python: Flask or Django. Mostly we will use Flask since it is a lightweight Python micro-framework.
  • Java: For CPU-intensive or tasks related to database interaction

Above considerations are tentative and are subject to change based on new requirements.

Communication between UI and backend:

  • REST API: Most popular option.
  • GraphQL: As a middleware between client and server for specific requirements.

Communication between microservices:

Options:

  • For synchronous tasks. Example: Interaction between gateway service and auth service.
    • gRPC
  • To distribute data between microservices
    • Apache Kafka
    • Rabbit-MQ

DevOps:

Containerizing the services:

  • Docker

CI/CD:

  • Continuous Integration:
    • For this available tools are: Jenkins and ANSIBLE
    • We will be using containerized Docker images to build and integrate applications, using above tools.
  • Continuous Deployment:
    • GitHub Actions
    • Jenkins
    • ANSIBLE

Memory, Load-balancing, Instance Configuration:

  • To Be Decided

Testing:

  • Frontend:
    • Functional Testing
    • Component-based unit testing
    • Integration testing
  • Backend:
    • Unit Testing
    • Load Testing
    • Integration Testing

Action Items:

  • Rajdeep:
    • Learn gRPC, Kafka, revise Docker, build project with microservice architecture with different languages, Java core concepts w.r.t. microservices.
  • Nirav:
    • Learn gPRC, learn how to build microservice architecture with Python, Java core concepts, containerizing services with Docker (overview), Database interaction with Python/Java (ORM optional)
  • Shashank:
    • Learn gRPC, learn how to build microservice architecture with Python, REST APIs in Python with Flask, Data ingestion from S3 and data processing).
Clone this wiki locally