This project establishes a robust backend infrastructure using Google Cloud Platform (GCP), featuring Firestore collections for user registration and application state management.
- Firestore Setup: Created "Reg" and "state" collections to store user registration data and application state, respectively.
- Dockerized Application: Developed and containerized the application's business logic, deploying it as the "User Registration Service" on Cloud Run.
- Continuous Integration: Automated the build and push of the Docker image to GCP Artifact Registry.
- User Validation Logic: Implemented business logic for user validation, handling edge cases like null email and invalid email forms.
- Docker Image Build: Constructed and tagged the Docker image, pushing it to GCP Artifact Registry for seamless deployment on Cloud Run.
- Session Management: Created a session API for user logout, with corresponding logic and Firestore updates.
- Container Deployment: Built, tagged, and pushed the Docker image to GCP Artifact Registry, deploying the "Session Management Service" on Cloud Run.
- Frontend Setup: Established a frontend container built with React, featuring user registration and login pages.
- Artifact Registry Integration: Developed and pushed the frontend Docker image to GCP Artifact Registry.
- Cloud Run Deployment: Created and deployed a Cloud Run service for the frontend container, ensuring seamless user interactions.
- Testing Infrastructure: Defined comprehensive test cases for each backend service, ensuring functionality and reliability.
- Frontend User Interface Testing: Validated the frontend's user registration and login workflows.
-
Firestore Setup
-
Backend Container-1
- "Docker image built and tagged for Container-1, ensuring a reproducible deployment."

- "Container-1 Docker image successfully pushed to GCP Artifact Registry for streamlined deployment."

- "Artifact Registry console on GCP displaying Container-1 artifacts."

- "Container-1 running on Cloud Run service, providing scalable backend infrastructure."

- "Postman sending requests to Container-1 for seamless user data storage."

- "Docker image built and tagged for Container-1, ensuring a reproducible deployment."
-
Backend Container-2
-
Backend Container-3 (Session API)
- "Building Docker image for Container-3 to encapsulate session-related functionalities."

- "Successful build and push of Container-3 Docker image to GCP Artifact Registry."

- "Artifact Registry console showcasing artifacts related to Container-3."

- "Creating Cloud Run service for Container-3 to ensure seamless deployment."

- "Container-3 running on Cloud Run service, managing user sessions."

- "GET request to retrieve all online users from Container-3."

- "GET request for user logout handled by Container-3."

- "Logout operation updating user status to offline in the state collection."

- "Building Docker image for Container-3 to encapsulate session-related functionalities."
-
Frontend Deployment
- "Building Docker image for the frontend to encapsulate the user interface."

- "Tagging Docker image for the frontend to maintain version control."

- "Successful push of frontend Docker image to GCP Artifact Registry."

- "Artifact Registry showcasing the Docker image for the frontend."

- "Creating Cloud Run service for the frontend to ensure a scalable user interface."

- "Frontend successfully running on Cloud Run, providing a user-friendly interface."

- "Screenshots of the user registration, login pages, and user list in the frontend application."

- "Building Docker image for the frontend to encapsulate the user interface."
- Clone the repository.
- Set up your GCP project and configure necessary credentials.
- Follow the documentation in each container's directory for deployment and usage instructions.




