49 lines
1 KiB
Markdown
49 lines
1 KiB
Markdown
|
|
# Dudi – Durchzieh-Dienst
|
|||
|
|
|
|||
|
|
A lightweight habit & goal tracker PWA built with Symfony 8, Doctrine ORM, and vanilla JS.
|
|||
|
|
|
|||
|
|
## Stack
|
|||
|
|
|
|||
|
|
- **Backend:** Symfony 8, Doctrine ORM, Symfony Security, Symfony Mailer
|
|||
|
|
- **Frontend:** Vanilla JS SPA, HTML `<template>` elements, no build step
|
|||
|
|
- **Database:** MariaDB
|
|||
|
|
- **Auth:** Symfony Security with bcrypt, session + remember-me (24h)
|
|||
|
|
|
|||
|
|
## Local Setup
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
composer install
|
|||
|
|
cp .env .env.local # then fill in real values
|
|||
|
|
php bin/console cache:clear
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Configure Apache to point to `public/` as DocumentRoot (see `docs/deployment.md`).
|
|||
|
|
|
|||
|
|
## Development
|
|||
|
|
|
|||
|
|
The app runs at `http://dudi.local/` locally. An Apache VirtualHost and `/etc/hosts` entry are required.
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
127.0.0.1 dudi.local
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Apache VirtualHost:
|
|||
|
|
```apache
|
|||
|
|
<VirtualHost *:80>
|
|||
|
|
ServerName dudi.local
|
|||
|
|
DocumentRoot "/path/to/dudi/public"
|
|||
|
|
<Directory "/path/to/dudi/public">
|
|||
|
|
AllowOverride All
|
|||
|
|
Require all granted
|
|||
|
|
</Directory>
|
|||
|
|
</VirtualHost>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Deploy
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
bash deploy.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
See `docs/deployment.md` for first-time server setup.
|