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.
| 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 technikapp
Build and run from the api directory:
cd api
docker build -t technikapp-api .
docker run -d -p 1337:1337 technikapp-api
Install dependencies and start the development server:
npm install
npm run dev
Install dependencies and start Strapi in development mode from the api/app directory:
cd api/app
npm install
npm run develop
The Strapi admin panel is available at http://localhost:1337/admin.
npm run build
node build/
cd api/app
npm run build
npm run start