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 -d
Moż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.ts
Skrypt 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.yml
z 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.yml
z profilembuild
sudo docker compose --profile build up -d
# Włączenie AI
sudo docker compose --profile build --profile ai up -d
Uruchomienie 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 |
---|---|---|
g.szwyngiel@pizzahub.pl | password | admin |
n.zatorska@pizzahub.pl | password | admin |
mail@example.com | password | user |