Expense Tracker Three Tier
A full-stack expense tracking web application built with React, Node.js, and PostgreSQL. Features JWT authentication, expense CRUD operations, dashboard analytics with charts, and CSV export functionality.
reactjsnodejskuberneteseksingress
Architecture
This application follows a three-tier architecture:
Tier 1 - Frontend: React.js application with Tailwind CSS Tier 2 - Backend: Node.js REST API with Express and JWT authentication Tier 3 - Database: PostgreSQL with Sequelize ORM
π Directory Structure
app/
βββ frontend/ # React frontend application
βββ backend/ # Node.js API server
βββ database/ # Database migrations and seeders
βββ README.md # This file
Note:
This repository contains a three-tier application built with the help of AI agents, designed to practice real-world deployment workflows. The project focuses on:
- Containerizing applications using Docker
- Deploying workloads on Kubernetes (EKS)
- Managing frontend, backend, and database layers
- Configuring Ingress with a custom domain
- Securing traffic using TLS certificates (Letβs Encrypt)
- Applying Kubernetes best practices such as namespaces, config maps, secrets, jobs, and services
- The primary goal of this project is to gain hands-on experience with production-like Kubernetes deployments, cloud-native architecture, and infrastructure automation.
K8s infra Directory Structure
.
βββ .gitignore
βββ README.md
β
βββ namespace.yaml
β # Kubernetes namespace for isolating application resources
β
βββ configmap-backend.yaml
βββ configmap-frontend.yaml
β # Application configuration for backend and frontend
β
βββ secret-backend.yaml
β # Sensitive backend credentials (DB, secrets, etc.)
β
βββ deployment-backend.yaml
βββ deployment-frontend.yaml
β # Kubernetes Deployments for backend and frontend services
β
βββ service-backend.yaml
βββ service-frontend.yaml
β # ClusterIP services exposing backend and frontend internally
β
βββ ingress.yaml
β # Ingress resource for routing traffic via custom domain
β
βββ lets-encrypt-cert.yaml
β # TLS certificate configuration using Letβs Encrypt
β
βββ db-migrate-job.yaml
β # Kubernetes Job for database migrations
β
βββ iam-policy.json
βββ iam_policy.json
βββ trust-policy.json
β # IAM and trust policies used for AWS EKS integrations
Loading similar projects...