Event management application with material tracking, team management, and user administration.
The application consists of two independently deployable services: a SvelteKit frontend and a Strapi backend.
- Event planning and management
- Material list per event (what equipment is needed and where it is)
- Team and participant management
- User accounts and authentication via Strapi
| Technology | Purpose |
|---|---|
| SvelteKit | Application framework |
| Tailwind CSS | Styling |
| @sveltejs/adapter-node | Node.js server adapter |
| Technology | Purpose |
|---|---|
| Strapi | Headless CMS, REST API, and user authentication |
technikapp/
├── src/ # SvelteKit frontend source
├── static/ # Static assets
├── api/
│ └── app/ # Strapi backend
├── .github/workflows/ # GitHub Actions CI/CD pipelines
└── Dockerfile # Frontend Docker image
The frontend requires two environment variables, provided as Docker build arguments or set at runtime:
| Variable | Description |
|---|---|
VITE_FULL_URL |
Public URL of the frontend application |
VITE_API_URL |
URL of the Strapi backend API |
Build the image:
docker build -t technikapp . \
--build-arg VITE_FULL_URL="https://your-app-url.example.com" \
--build-arg VITE_API_URL="https://your-api-url.example.com"Run the container (exposed on port 3000):
docker run -d -p 3000:3000 technikappBuild and run from the api directory:
cd api
docker build -t technikapp-api .
docker run -d -p 1337:1337 technikapp-apiInstall dependencies and start the development server:
npm install
npm run devInstall dependencies and start Strapi in development mode from the api/app directory:
cd api/app
npm install
npm run developThe Strapi admin panel is available at http://localhost:1337/admin.
npm run build
node build/cd api/app
npm run build
npm run start