2.2 KiB
2.2 KiB
Gemini CLI Context for playground-frontend
Project Overview
This is the frontend of the Playground project, built with Angular 21 and Angular Material. It includes features like a light/dark theme toggle and multi-language support via ngx-translate. The application is a static Single Page Application (SPA) served by NGINX.
Key Technologies:
- Frontend Framework: Angular 21
- UI Components & Theming: Angular Material
- Internationalization: ngx-translate
- Server: NGINX (for serving the SPA)
- Containerization: Docker
- CI/CD: GitHub Actions
Building and Running
Local Development
- Install dependencies:
npm install - Start development server:
The app will run at
ng serve --openhttp://localhost:4200.
Building for Production
To build the project for production, which creates the optimized static files:
ng build
Running Tests
To run the unit tests:
ng test
Linting
To lint the codebase:
ng lint
Docker
To build and run the application using Docker locally:
- Build Docker image:
docker build -t playground-frontend:local . - Run Docker container:
Then open
docker run -p 8080:80 playground-frontend:localhttp://localhost:8080in your browser.
Development Conventions
- Language: TypeScript
- Framework: Angular
- Styling: SCSS (based on
styles.scssand component-specific.scssfiles). - Linting: ESLint is configured (see
eslint.config.jsandpackage.jsonscripts). - Internationalization: Uses
ngx-translatewithen.jsonandde.jsonasset files.
Project Structure (Key Areas)
src/app/: Contains the main application logic, components, services, and routing.src/app/pages/: Specific pages of the application (e.g., about, algorithms, imprint, projects).src/assets/: Static assets including images, internationalization files (i18n), and logos.Dockerfile: Defines the Docker image for the application.nginx.conf: NGINX configuration for serving the SPA..gitea/workflows/: Contains CI/CD workflows (e.g.,build-Frontend-a.yml).