Posėdžių balsavimo ir protokolavimo informacinė sistema - IS, kuri skirta Vilniaus universiteto Kauno fakulteto studijų programų komitetų elektroninių posėdžių administravimui bei jų protokolų generavimui. Ši IS kuriama, siekiant įgyvendinti Informacijos sistemų ir kibernetinės saugos „Kursinio darbo" modulio keliamus reikalavimus.
- posėdžių ir darinių valdymas;
- vartotojų balsavimo procesas;
- protokolų generavimas;
- vartotojų valdymas;
- šviesus/tamsus režimo perjungimas.
- Operacinė sistema: Linux aplinka (rekomenduojama Debian distribucija)
- Docker: Docker Engine su Docker Compose
- Node.js: 18+ versija (frontend assets kompiliavimui)
- Naršyklė: Moderni naršyklė su JavaScript palaikymu
# Klonuoti repozitoriją
cd ~/Documents
git clone https://github.com/archlich03/pobis.git
cd pobis
# Nukopijuoti aplinkos konfigūraciją
cp .env.example .envRedaguokite .env failą ir nustatykite Microsoft OAuth parametrus:
# Microsoft OAuth - gauti iš Azure Portal
MSGRAPH_CLIENT_ID=your-client-id-here
MSGRAPH_SECRET_ID=your-client-secret-here
MSGRAPH_TENANT_ID=common
# OAuth URL (keisti domain jei reikia)
MSGRAPH_OAUTH_URL=http://localhost/login/microsoft/callback
MSGRAPH_LANDING_URL=http://localhost/user/dashboardKaip gauti Microsoft OAuth duomenis:
- Eikite į Azure Portal
- Registruokite naują aplikaciją "App registrations"
- Nukopijuokite Application (client) ID į
MSGRAPH_CLIENT_ID - Sukurkite client secret ir nukopijuokite į
MSGRAPH_SECRET_ID - Pridėkite redirect URI:
http://localhost/login/microsoft/callback
# Paleisti visus servisus
sudo docker compose up -d
# Palaukti kol konteineriai pilnai pasileis
sleep 10# Sugeneruoti aplikacijos raktą
sudo docker exec pobis php artisan key:generate
# Įvykdyti duomenų bazės migracijas ir seed duomenis
sudo docker exec pobis php artisan migrate:fresh --seed
# Sukompiliuoti frontend assets
sudo docker exec pobis npm install
sudo docker exec pobis npm run build
# Perkrauti konteinerius
sudo docker compose restart- URL: http://localhost
- Admin prisijungimas:
- El. paštas:
admin@knf.vu.lt - Slaptažodis:
admin123
- El. paštas:
# Paleisti Vite dev serverį
sudo docker exec -it pobis npm run dev
# Arba lokaliai (jei turite Node.js)
npm install
npm run dev# Peržiūrėti logus
sudo docker logs pobis -f
# Prisijungti prie konteinerio
sudo docker exec -it pobis bash
# Sustabdyti visus servisus
sudo docker compose down
# Perkrauti duomenų bazę
sudo docker exec pobis php artisan migrate:fresh --seed
# Išvalyti cache
sudo docker exec pobis php artisan cache:clear
sudo docker exec pobis php artisan config:clear
sudo docker exec pobis php artisan view:clear- Automatinis temos išsaugojimas localStorage ir cookies
- Perjungimas per navigation meniu
- Palaikoma visuose puslapiuose (dashboard, login, welcome)
- Responsive dizainas
- Alpine.js reaktyvumas
- Prisijungimas per Microsoft/Office 365 paskyrą
- Automatinis vartotojo sukūrimas
- Saugus token valdymas
- Palaikomi universiteto ir asmeniniai Microsoft paskyrų tipai
- Lietuvių kalba (pagrindinė)
- Anglų kalba
- Lengvas naujų kalbų pridėjimas
1. "Permission denied" klaidos:
sudo chown -R $USER:$USER .
sudo chmod -R 755 storage bootstrap/cache2. Microsoft OAuth neveikia:
- Patikrinkite ar teisingai nustatyti
.envparametrai - Įsitikinkite, kad redirect URI sutampa Azure Portal
- Patikrinkite ar
MSGRAPH_OAUTH_URLyra pilnas URL - Įsitikinkite, kad Azure aplikacijoje įjungti teisingi API permissions
3. Frontend assets neužsikrauna:
sudo docker exec pobis npm install
sudo docker exec pobis npm run build
sudo docker compose restart nginx4. Duomenų bazės problemos:
sudo docker exec pobis php artisan migrate:fresh --seed5. Tema neperjungia:
- Patikrinkite ar Tailwind CSS sukompiliuotas su
darkMode: 'class' - Perkraukite puslapį ir išvalykite naršyklės cache
- Patikrinkite browser console ar nėra JavaScript klaidų
6. Konteineriai nepasileido:
# Patikrinti konteinerių statusą
sudo docker ps -a
# Peržiūrėti klaidas
sudo docker logs pobis
sudo docker logs nginx
sudo docker logs mysql
# Perkrauti visą sistemą
sudo docker compose down
sudo docker compose up -d- Framework: Laravel 11
- Database: MySQL 8.0
- Authentication: Laravel Sanctum + Microsoft Graph
- Server: Nginx + PHP-FPM
- CSS Framework: Tailwind CSS 3.x
- JavaScript: Alpine.js 3.x
- Build Tool: Vite 6.x
- Icons: Heroicons
- Containerization: Docker + Docker Compose
- Web Server: Nginx
- Process Management: Docker services
Pirmą kartą paleidus IS, sukuriamas IT administratoriaus rolę turintis naudotojas. Prisijungimo duomenys specifikuoti .env faile (DEFAULT_EMAIL ir DEFAULT_PASSWORD).
- CSRF apsauga
- XSS apsauga
- SQL injection apsauga
- Saugus session valdymas
- Microsoft OAuth 2.0 integracija
POBIS veikia su GNU GPLv3 licencija.
- Web aplikacija: http://localhost (port 80)
- Vite dev server: http://localhost:5173 (development)
- MySQL: localhost:3306 (internal)
pobis/
├── app/ # Laravel aplikacijos logika
├── resources/ # Views, CSS, JS failai
├── docker/ # Docker konfigūracijos
├── database/ # Migracijos ir seeders
├── public/ # Viešai prieinami failai
└── storage/ # Logai, cache, uploads
- Naudokite
npm run devfrontend plėtojimui - Laravel logai:
storage/logs/laravel.log - Duomenų bazės seeders:
database/seeders/ - Blade templates:
resources/views/ - Tailwind konfigūracija:
tailwind.config.js