Skip to content
Amol Sangar edited this page Feb 10, 2022 · 5 revisions

Weather Application (Complete Code)

Napkin Diagram

napkin

Architecture Diagram

architecture

Technologies Used

  1. Frontend - Angular
  2. API gateway - Express Node JS
  3. Authentication Service - Google Authentication OAuth2, JWT (JSON Web Token) .
  4. Data retrieval and Plotting - Fast API Python, AWS S3.
  5. User History Service - Spring Boot Java, MySQL
  6. Profile service - Node JS, Mongo DB
  7. Communication Protocol - REST API

Services

  • The gateway acts as the single point of contact for the frontend service and connects multiple microservices at the backend through REST APIS.

  • Connecting microservices -

    1. Authentication Service
    2. Profile Service
    3. Radar Service
    4. User History
  • The authentication service handles user registration, login and Google OAuth2 Sign-in. It handles the user session by using JWT which is passed from backend to frontend in the form of httpOnly cookie.

  • Connecting microservices -

    1. Gateway Service
    2. Profile Service
  • The profile service is responsible for creating and updating user profiles received from Auth Service. It uses MongoDB for user profile storing and retrieving.

  • Connecting microservices -

    1. Gateway Service
    2. Authentication Service
  • The service fetches data from Nexrad data source (AWS S3) and generates a reflectivity graph which is then stored in the database using User History service
  • This service stores the data which is currently searched by the user