Projekt stworzony na przedmiot Projektowanie stron internetowych.
- Bun (najnowsza wersja) - Instrukcja instalacji
- Docker lub Podman z Docker Compose
- Git
- Sklonuj repozytorium:
git clone <url-repozytorium>
cd pizzahub- Zainstaluj zależności:
bun install- Skonfiguruj zmienne środowiskowe:
cp dev.env .env
# Plik jest używany tylko i wyłącznie do trybu deweloperskiego.
# Zawiera on już poprawne dane testowe.- Uruchom docker-compose.dev.yml
sudo docker compose -f docker-compose.dev.yml up -dMożna skorzystać z profilu ai jeżeli chcemy skorzystać z Pizzi.
sudo docker compose -f docker-compose.dev.yml --profile ai up -d- Uruchom skrypt entrypoint.ts
bun entrypoint.tsSkrypt powinien odczytać zmienne z pliku .env i na jej podstawie połączyć się z bazą danych, zainicjować jej strukturę oraz wstawić przykładowe dane. Jeżeli użyto profilu ai pobierze on również LLM (domyślnie gemma3:1b, ~900MB).
- Uruchamiamy generacje biblioteki
prisma
bun generate- Uruchamiamy serwer w trybie deweloperskim
bun dev- 3000 - główna aplikacji
- 11025 - serwer SMTP
maildev - 11080 - interfejs
maildev(dostęp do mail'i) - 11434 - API
Ollama(ai) - 18080 -
adminer - 15433 -
pgadmin4 - 15432 - baza danych
postgres
Można uruchomić projekt w trybie produkcyjnym na dwa sposoby. Pierwszy to zbudowanie obrazu osobno i uruchomienie docker compose z profilem ready osobno. Drugi to uruchomienie docker compose z profilem build który od razu zbuduje obraz i go uruchomi.
- Uruchamianie budowania obrazu
sudo docker build -t next .- Uruchamianie
docker-compose.ymlz profilemready
sudo docker compose --profile ready up -d
# Włączenie AI
sudo docker compose --profile ready --profile ai up -d- Gotowe. Aplikacja powinna być dostępna pod adresem
http://localhost:3000
- Uruchamianie
docker-compose.ymlz profilembuild
sudo docker compose --profile build up -d
# Włączenie AI
sudo docker compose --profile build --profile ai up -dUruchomienie może zająć nieco dłużej ponieważ podczas stawiania docker compose jest również budowany obraz.
- Gotowe. Aplikacja powinna być dostępna pod adresem
http://localhost:3000
Jeżeli korzystamy z profilu ai to uruchomienie aplikacji może zająć dłużej za pierwszym razem gdyż będzie pobierany LLM.
- 3000 - główna aplikacji
- 11080 - interfejs
maildev(dostęp do mail'i) - 18080 -
adminer
├── src/ # Kod źródłowy aplikacji
├── prisma/ # Schemat bazy danych
├── emails/ # Szablony emaili
├── public/ # Zasoby statyczne
├── sql/ # Dane testowe
├── docker-compose.yml # Konfiguracja produkcyjna
├── docker-compose.dev.yml # Konfiguracja deweloperska
└── entrypoint.ts # Skrypt inicjalizacyjny
Login: postgres
Hasło: password
Baza danych: next
| Login/Email | Hasło | Rola |
|---|---|---|
| [email protected] | password | admin |
| [email protected] | password | admin |
| [email protected] | password | user |