70 lines
1.6 KiB
Markdown
70 lines
1.6 KiB
Markdown
# Galeria kotów - Aplikacja MVC w NestJS
|
|
|
|
## Autor
|
|
Igor Barcik
|
|
|
|
## Opis Aplikacji
|
|
Galeria kotów to aplikacja webowa zbudowana w NestJS, wykorzystująca wzorzec projektowy MVC (Model-View-Controller). Aplikacja służy do przeglądania kolekcją zdjęć kotów.
|
|
|
|
### Dla kogo?
|
|
- Miłośników kotów
|
|
- Osób chcących przeglądać zdjęcia kotów
|
|
|
|
## Implementacja MVC w Aplikacji
|
|
|
|
### Model
|
|
Reprezentacja danych i logiki biznesowej w `cats.service.ts`:
|
|
|
|
```ts
|
|
@Injectable()
|
|
export class CatsService {
|
|
// Logika biznesowa związana z kotami
|
|
// Operacje na danych
|
|
}
|
|
```
|
|
|
|
### View
|
|
Widoki są renderowane przy użyciu silnika Handlebars (hbs):
|
|
```ts
|
|
const app = await NestFactory.create<NestExpressApplication>(AppModule);
|
|
app.setViewEngine('hbs');
|
|
```
|
|
|
|
### Controller
|
|
Kontrolery obsługujące żądania HTTP w `cats.controller.ts`:
|
|
|
|
```ts
|
|
@Controller('cats')
|
|
export class CatsController {
|
|
constructor(
|
|
private readonly catsService: CatsService,
|
|
private readonly navigationService: NavigationService,
|
|
) {}
|
|
|
|
@Get()
|
|
@Render('cats')
|
|
async getCats() {
|
|
// Logika kontrolera
|
|
}
|
|
}
|
|
```
|
|
|
|
## Struktura Projektu
|
|
```
|
|
src/
|
|
├── cats/
|
|
│ ├── cats.controller.ts # Kontroler obsługujący endpointy
|
|
│ ├── cats.service.ts # Serwis zawierający logikę biznesową
|
|
│ └── cats.module.ts # Moduł kotów
|
|
├── views/ # Szablony widoków
|
|
└── app.module.ts # Główny moduł aplikacji
|
|
```
|
|
|
|
## Uruchomienie Aplikacji
|
|
|
|
Instalacja zależności:
|
|
`pnpm install`
|
|
|
|
Uruchomienie w trybie developerskim:
|
|
`pnpm run start:dev`
|