Add project files

This commit is contained in:
2025-10-04 13:27:29 +03:00
parent 75eba696c9
commit cc53824229
46 changed files with 3328 additions and 7 deletions

View File

@@ -7,32 +7,73 @@ Veikimo principas - pati platforma bus prieinama per interneto naršyklę ir bus
Sistema bus kuriama naudojant modernias technologijas, o diegimas bus supaprastintas, siekiant greitesnio diegimo. Naudotojams bus suteikiami skirtingi vaidmenys su atitinkamomis teisėmis, užtikrinant sklandų ir kontroliuojamą turinio valdymą. Naudotojai galės filtruoti nuotraukas pagal joms paskirtas žymas.
## Funkciniai reikalavimai
### Funkciniai reikalavimai
### Bendrieji reikalavimai
#### Bendrieji reikalavimai
- Sistema privalo turėti vartotojo sąsają, kuri leistų peržiūrėti, įkelti, ir tvarkyti nuotraukas bei komentarus.
- Duomenų bazė turi būti lengvai keičiama dėl pasirinkto _ORM_ (angl. Object-Relational Mapping) sluoksnio.
- Serverio ir klientinės dalys turi būti supakuotos į vieną diegimo vienetą (binary), siekiant supaprastinti diegiamosios sistemos procesą.
### Rolių reikalavimai
#### Rolių reikalavimai
**! Nubraukti reikalavimai yra kol kas nėra įgyvendinti. Taip pat kol kas nėra rolių.**
**Svečiai**
1. Gali peržiūrėti visus įkeltus paveikslus.
2. Gali matyti visus komentarus po paveikslais.
3. Gali filtruoti paveikslus pagal nustatytas žymas.
3. ~~Gali filtruoti paveikslus pagal nustatytas žymas.~~
4. Gali užsiregistruoti ir tapti registruotais naudotojais.
**Registruoti naudotojai**
1. Gali prisijungti prie sistemos.
2. Gali atsijungti nuo sistemos.
2. ~~Gali atsijungti nuo sistemos.~~
3. Gali įkelti naujus paveikslus.
4. Gali redaguoti savo įkeltų paveikslų metaduomenis (žymas, aprašą).
5. Gali ištrinti savo įkeltus paveikslus.
6. Gali rašyti komentarus po paveikslais.
7. Gali redaguoti savo komentarus.
8. Gali ištrinti savo komentarus.
9. Gali keisti savo paskyros informaciją (slaptažodį, el. paštą).
9. ~~Gali keisti savo paskyros informaciją (slaptažodį, el. paštą).~~
**Moderatoriai**
1. Turi teisę šalinti ir redaguoti kitų naudotojų paveikslus bei komentarus.
2. Gali kurti, redaguoti ir ištrinti žymas, kurios naudojamos turinio kategorizavimui.
2. Gali kurti, redaguoti ir ištrinti žymas, kurios naudojamos turinio kategorizavimui.
## Konfiguracija
**apsettings.json**
```json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"ConnectionStrings": {
"DbContext": "server=localhost;port=3306;database=database_name;user id=user_name;password=password;"
},
"AllowedHosts": "*",
"Jwt": {
"Key": "openssl rand -base64 32",
"Issuer": "ImgBoard",
"Audience": "ImgBoard-Users",
"DurationInMinutes": 10
}
}
```
## Paleidimas
Paleidimui naudojama Docker komanda:
```sh
docker compose up --build
```
## API dokumentacija
API dokumentacija yra pasiekiama naudojant `Development` versiją šia nuoroda:
http://localhost:5259/swagger/v1/swagger.json
A copy of the file is provided in the repository called `swagger.json`. May not be up-to-date.