Level 5 Software Engineering Coursework - Full-stack web application with AI integration.
This is a full-stack application consisting of a React frontend and Node.js backend with AI service integration and caching capabilities.
- Frontend: React + TypeScript + Vite
- Backend: Node.js + Express + TypeScript
- AI Integration: Gemini AI provider
- Caching: Memory and Redis cache implementations
- Deployment: Docker support via Docker Compose
- React 18
- TypeScript
- Vite (build tool)
- Tailwind CSS (styling)
- Supabase (backend services)
- Lucide React (icons)
- Node.js with Express
- TypeScript
- TOML configuration
- Provider pattern for AI and cache services
├── frontend/ # React frontend application
├── backend/ # Express backend server
│ └── src/
│ ├── controllers/ # Route controllers
│ ├── routes/ # API routes
│ ├── provider/ # Service providers
│ │ ├── ai/ # AI provider implementations
│ │ └── cache/ # Cache provider implementations
│ ├── config.ts # Configuration management
│ └── index.ts # Application entry point
├── docker/ # Docker configuration
└── compose.yaml # Docker Compose setup
- Node.js (v18 or higher)
- npm or yarn
- Clone the repository
- Install backend dependencies:
cd backend npm install - Install frontend dependencies:
cd frontend npm install
Backend:
cd backend
npm run devFrontend:
cd frontend
npm run devBackend:
cd backend
npm run build
npm startFrontend:
cd frontend
npm run build
npm run previewRun the entire application stack:
docker-compose upBackend configuration is managed through backend/config.toml. Update this file with your service credentials and settings.
- AI-powered functionality using Gemini AI
- Flexible caching system (Memory/Redis)
- RESTful API architecture
- Modern React frontend with TypeScript
- Containerized deployment ready
See LICENSE file for details.