mirror of
https://git.groepel.net/groepel-net-web-app.git
synced 2026-10-29 02:09:21 +01:00
master
Groepel Net Web App
A modern web application built with Angular, featuring retro-inspired design elements, canvas drawing capabilities, and kiosk functionality.
Features
- API Integration: REST API services
- Canvas Drawing: Pixel-perfect drawing with C64 color palette support and PETSCII translation
- Game of Life: Interactive Conway's Game of Life simulation
- Kiosk Mode: Full-screen kiosk interface with banner and error handling
- Convenient HTML Components: Custom Angular components for Japanese text, buttons, and layout
- Browser Icon Service: Dynamic favicon management
- Local Storage: Persistent data storage for user preferences
Prerequisites
- Node.js (v18 or higher)
- npm (comes with Node.js)
- Angular CLI (v21 or higher)
Installation
-
Clone the repository:
git clone <repository-url> cd groepel-net-web-app -
Install dependencies:
npm install
Development
Start the development server:
npm start
The application will be available at http://localhost:4200.
Building
Build the application for production:
npm run build
The build artifacts will be stored in the dist/ directory.
For development build:
npm run build:dev
Testing
Run unit tests:
npm test
Linting
Check code quality:
npm run lint
Docker
Build and run the application using Docker:
-
Build the Docker image:
./create-docker-image.sh -
Or manually:
docker build -t groepel-net-web-app . -
Run the container:
docker run -p 80:80 groepel-net-web-app
The application will be available at http://localhost.
Documentation
Generate API documentation using Compodoc:
npm run compodoc
Project Structure
src/app/modules/api/: API services and modelssrc/app/modules/canvas-drawing/: Drawing utilities and servicessrc/app/modules/game-of-life/: Game of Life implementationsrc/app/modules/kiosk/: Kiosk mode componentssrc/app/modules/convenient-html-components/: Custom UI componentssrc/assets/: Static assetsdocker/: Docker configuration
Description
Languages
TypeScript
85.1%
HTML
12.9%
JavaScript
1.3%
CSS
0.6%