-
Notifications
You must be signed in to change notification settings - Fork 0
Current Architecture
Jay Mathukiya edited this page Apr 14, 2025
·
1 revision
This document provides an overview of the technologies and services used in the SoloType project as of April 14, 2025.
- Frontend: Next.js (v15.1, App Router), React (v18.2), TypeScript, Tailwind CSS, Shadcn UI
- Authentication: Firebase Authentication (Client-Side SDK: Email/Password, Google Sign-In)
- Containerization: Docker (Used for Frontend Application)
- Container Registry: GitHub Container Registry (GHCR)
- CI/CD: GitHub Actions
- Hosting: Azure Web App for Containers (Linux)
- Planned Backend: Azure Functions (Node.js Runtime)
- Planned Database: MongoDB Atlas (NoSQL)
- Planned AI: Google Gemini API
The application utilizes GitHub Actions for automated continuous integration and deployment:
-
Trigger: Pushing or merging code to the
mainbranch triggers the workflows. -
Build (
docker-image.yml):- Checks out the source code.
- Logs into GitHub Container Registry (GHCR).
- Builds the production Docker image for the Next.js frontend using the project's
Dockerfile. - Pushes the built image to GHCR, tagging it with
latestand the commit SHA.
-
Deploy (
azure-container-webapp.yml):- Logs into Azure using credentials stored in GitHub Secrets.
- Instructs the Azure Web App service to pull the newly pushed image (identified by its commit SHA tag) from GHCR and deploy it.
- Azure Web App uses credentials stored in its Application Settings (a GitHub PAT) to authenticate with GHCR for pulling the image.
See the CI-CD Pipeline page for more details on the workflows.