Skip to content

Commit ec31bd7

Browse files
committed
readme
1 parent fd9f55b commit ec31bd7

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed

README.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,139 @@
11

2+
# CRM NEKRETNINE
3+
4+
## Opis projekta
5+
6+
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.
7+
8+
Aplikacija je podeljena na:
9+
- Frontend (React)
10+
- Backend (Laravel REST API)
11+
- MySQL bazu podataka
12+
13+
Kompletan sistem je dockerizovan i pokreće se pomoću Docker Compose alata.
14+
15+
---
16+
17+
## Tehnologije
18+
19+
- Backend: Laravel (PHP 8, REST API, Sanctum autentifikacija)
20+
- Frontend: React (Create React App, Axios)
21+
- Baza podataka: MySQL 8
22+
- Web server: Nginx
23+
- API dokumentacija: Swagger / OpenAPI (L5-Swagger)
24+
- Docker + Docker Compose
25+
26+
---
27+
28+
## Struktura projekta
29+
30+
CRM NEKRETNINE/
31+
32+
- laravel/ – Backend aplikacija
33+
- reactfront/ – Frontend aplikacija
34+
- docker/nginx/default.conf
35+
- docker-compose.yml
36+
- README.md
37+
38+
---
39+
40+
## Docker servisi
41+
42+
U docker-compose.yml definisani su sledeći servisi:
43+
44+
- mysql – MySQL baza podataka
45+
- laravel – Laravel backend (PHP-FPM)
46+
- nginx – Web server za API
47+
- reactfront – React frontend aplikacija
48+
- phpmyadmin – Administracija baze podataka
49+
50+
---
51+
52+
## Portovi
53+
54+
Frontend: http://localhost:3008
55+
Backend API: http://localhost:8088
56+
Swagger: http://localhost:8088/api/documentation
57+
phpMyAdmin: http://localhost:8089
58+
MySQL (host): 3308
59+
60+
---
61+
62+
## Pokretanje aplikacije (Docker)
63+
64+
### 1. Build i pokretanje svih servisa
65+
66+
docker compose up -d --build
67+
68+
### 2. Provera da li kontejneri rade
69+
70+
docker ps
71+
72+
### 3. Generisanje Laravel APP_KEY
73+
74+
docker compose exec laravel php artisan key:generate
75+
76+
### 4. Pokretanje migracija
77+
78+
docker compose exec laravel php artisan migrate
79+
80+
### 5. Ubacivanje test podataka (opciono)
81+
82+
docker compose exec laravel php artisan db:seed
83+
84+
### 6. Storage link (za upload slika)
85+
86+
docker compose exec laravel php artisan storage:link
87+
88+
### 7. Regeneracija Swagger dokumentacije
89+
90+
docker compose exec laravel php artisan l5-swagger:generate
91+
92+
---
93+
94+
## Zaustavljanje sistema
95+
96+
docker compose down
97+
98+
---
99+
100+
## Autentifikacija
101+
102+
API koristi Bearer token autentifikaciju (Laravel Sanctum).
103+
104+
Authorization header:
105+
106+
Authorization: Bearer <token>
107+
108+
---
109+
110+
## Glavne API rute
111+
112+
### Autentifikacija
113+
114+
- POST /api/register
115+
- POST /api/login
116+
- GET /api/me
117+
- POST /api/logout
118+
119+
### Kupci
120+
121+
- GET /api/kupci
122+
- GET /api/kupci/{id}
123+
- POST /api/kupci
124+
- PUT /api/kupci/{id}
125+
- DELETE /api/kupci/{id}
126+
- GET /api/kupci/search
127+
128+
### Nekretnine
129+
130+
- GET /api/nekretnine
131+
- GET /api/nekretnine/{id}
132+
- POST /api/nekretnine
133+
- PUT /api/nekretnine/{id}
134+
- DELETE /api/nekretnine/{id}
135+
- GET /api/nekretnine/search
136+
137+
---
138+
139+

0 commit comments

Comments
 (0)