Symfony 8 SPA with Doctrine ORM, Symfony Security, vanilla JS frontend. Migrated from plain PHP (delight-im/auth + raw SQL) to full Symfony stack. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
48 lines
1 KiB
Markdown
48 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.
|