CRM Nekretnine je web aplikacija namenjena upravljanju nekretninama, kupcima i zakazanim pregledima. Sistem omogućava autentifikaciju korisnika, CRUD operacije nad glavnim entitetima, naprednu pretragu i filtriranje podataka, kao i upravljanje slikama nekretnina.
Aplikacija je podeljena na:
- Frontend (React)
- Backend (Laravel REST API)
- MySQL bazu podataka
Kompletan sistem je dockerizovan i pokreće se pomoću Docker Compose alata.
- Backend: Laravel (PHP 8, REST API, Sanctum autentifikacija)
- Frontend: React (Create React App, Axios)
- Baza podataka: MySQL 8
- Web server: Nginx
- API dokumentacija: Swagger / OpenAPI (L5-Swagger)
- Docker + Docker Compose
CRM NEKRETNINE/
- laravel/ – Backend aplikacija
- reactfront/ – Frontend aplikacija
- docker/nginx/default.conf
- docker-compose.yml
- README.md
U docker-compose.yml definisani su sledeći servisi:
- mysql – MySQL baza podataka
- laravel – Laravel backend (PHP-FPM)
- nginx – Web server za API
- reactfront – React frontend aplikacija
- phpmyadmin – Administracija baze podataka
Frontend: http://localhost:3008
Backend API: http://localhost:8088
Swagger: http://localhost:8088/api/documentation
phpMyAdmin: http://localhost:8089
MySQL (host): 3308
docker compose up -d --build
docker ps
docker compose exec laravel php artisan key:generate
docker compose exec laravel php artisan migrate
docker compose exec laravel php artisan db:seed
docker compose exec laravel php artisan storage:link
docker compose exec laravel php artisan l5-swagger:generate
docker compose exec laravel php artisan test
docker compose down
API koristi Bearer token autentifikaciju (Laravel Sanctum).
Authorization header:
Authorization: Bearer
- POST /api/register
- POST /api/login
- GET /api/me
- POST /api/logout
- GET /api/kupci
- GET /api/kupci/{id}
- POST /api/kupci
- PUT /api/kupci/{id}
- DELETE /api/kupci/{id}
- GET /api/kupci/search
- GET /api/nekretnine
- GET /api/nekretnine/{id}
- POST /api/nekretnine
- PUT /api/nekretnine/{id}
- DELETE /api/nekretnine/{id}
- GET /api/nekretnine/search