Skip to content

npv2k1/fullstack-assignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fullstack Menu Management System

A full-stack application for menu management with a modern tech stack.

Live Sites

Tech Stack

Frontend

  • Next.js 14 with App Router
  • TypeScript
  • Tailwind CSS
  • Zustand for state management
  • shadcn/ui components

Backend

  • NestJS
  • TypeScript
  • Prisma ORM
  • PostgreSQL
  • GraphQL
  • REST API

Development Setup

Prerequisites

  • Node.js (v18+)
  • pnpm (recommended) or npm
  • Docker and Docker Compose
  • PostgreSQL

Running Locally

  1. Clone the repository
git clone https://github.com/npv2k1/fullstack-assignment.git
cd fullstack-assignment
  1. Install dependencies
# Backend
cd backend
pnpm install

# Frontend
cd frontend
pnpm install
  1. Set up environment variables
# Backend
cp backend/.env.example backend/.env
# Frontend
cp frontend/.env.example frontend/.env.local
  1. Start the development servers
# Backend
cd backend
pnpm dev

# Frontend
cd frontend
pnpm dev

The frontend will be available at http://localhost:3000 and the backend at http://localhost:4000.

Docker Development

Run the entire stack using Docker Compose:

docker compose up -d

Deployment

Container Registry

Images are stored in GitHub Container Registry (ghcr.io):

  • Frontend: ghcr.io/npv2k1/fullstack-assignment-frontend
  • Backend: ghcr.io/npv2k1/fullstack-assignment-backend

Kubernetes Deployment

The application is deployed using Kubernetes. Deployment files are located in the deploy/ directory:

  • deploy/web-deployment.yaml: Frontend deployment
  • deploy/api-deployment.yaml: Backend deployment

Each deployment includes:

  • Deployment configuration
  • Service definition
  • Ingress rules for external access

CI/CD Pipeline

GitHub Actions workflow (build.yaml) handles:

  1. Building Docker images for frontend and backend
  2. Publishing images to GitHub Container Registry
  3. Updating deployment manifests with new image tags
  4. Creating Pull Requests for deployment updates

License

MIT License - See LICENSE for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages