Aplikacja do gromadzenia, opisywania i udostępniania archiwalnych zdjęć.
Backend: ASP.NET Core 8 · Frontend: Vue 3 + Vite · Baza: PostgreSQL
- .NET 8 SDK
- Node.js 20+ (z npm)
- PostgreSQL 15+
Utwórz bazę i użytkownika w PostgreSQL:
CREATE USER aitsib_admin WITH PASSWORD 'twoje_haslo';
CREATE DATABASE aitsib_db OWNER aitsib_admin;cd backendUtwórz plik appsettings.Development.json (jeśli nie istnieje):
{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Database=aitsib_db;Username=aitsib_admin;Password=twoje_haslo"
},
"Jwt": {
"Key": "min-32-znakowy-losowy-klucz-sekretny!!"
},
"Google": {
"ClientId": ""
},
"Cors": {
"AllowedOrigins": "https://localhost:3000,http://localhost:3000"
}
}Zastosuj migracje i uruchom:
dotnet ef database update
dotnet runAPI dostępne pod: http://localhost:5052
Swagger UI: http://localhost:5052/swagger
Przy pierwszym uruchomieniu EF automatycznie tworzy konto admina
(e-mail i hasło z sekcjiAdminSeedw konfiguracji).
cd frontend
npm install
npm run devAplikacja dostępna pod: https://localhost:3000
Frontend używa self-signed SSL (
@vitejs/plugin-basic-ssl) — przeglądarka może pokazać ostrzeżenie, kliknij „Kontynuuj mimo to".
Po uruchomieniu logowanie odbywa się przez Google lub Facebook OAuth.
Pierwsze konto z danym e-mailem Google/Facebook automatycznie otrzymuje rolę Twórcy.
Konto administratora jest tworzone przez seed w bazie — skontaktuj się z autorem projektu po dane dostępowe.
| Komenda | Opis |
|---|---|
dotnet run (backend/) |
Uruchom API |
dotnet ef migrations add <Nazwa> |
Utwórz nową migrację |
dotnet ef database update |
Zastosuj migracje |
npm run dev (frontend/) |
Uruchom dev server |
npm run build (frontend/) |
Zbuduj produkcyjny bundle |
npm run type-check (frontend/) |
Sprawdź typy TypeScript |
├── backend/ # ASP.NET Core Web API
│ ├── Controllers/ # Endpointy REST
│ ├── Models/ # Encje EF Core
│ ├── Data/ # DbContext, seed
│ └── Migrations/ # Historia schematu bazy
├── frontend/ # Vue 3 SPA
│ └── src/
│ ├── pages/ # Widoki (1 plik = 1 trasa)
│ ├── components/
│ ├── stores/ # Pinia
│ ├── api/ # Klienty HTTP
│ └── router/ # Trasy + guardy
└── docs/ # Dokumentacja (md + tex)