Skip to content

janajovanovic1/pitstopshop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PitStopShop

📌 Opis aplikacije

PitStopShop je fullstack web aplikacija za online prodaju auto-delova i opreme, sa jasno definisanim korisničkim ulogama: customer, mechanic i admin.

Aplikacija omogućava: - Registraciju i prijavu korisnika (JWT autentifikacija u HTTP-only cookie-ju) - Pregled, pretragu i filtriranje proizvoda - Kreiranje porudžbina i praćenje statusa - Upravljanje proizvodima (admin) - Tehničke recenzije proizvoda (mechanic) - Administratorski dashboard sa statistikom i KPI podacima

Sistem je implementiran kao odvojeni frontend i backend servis, uz MySQL bazu podataka.


🛠️ Tehnologije

Backend

  • Node.js
  • Express.js
  • Prisma ORM
  • MySQL
  • JWT (autentifikacija)
  • bcrypt (hash lozinki)
  • Multer + Cloudinary (upload slika)
  • Swagger (API dokumentacija)

Frontend

  • React (Vite)
  • JavaScript / JSX
  • CSS / Tailwind (ukoliko se koristi)
  • Vitest + React Testing Library (testovi)

DevOps

  • Docker
  • Docker Compose
  • GitHub Actions (CI/CD)

🚀 Lokalno pokretanje (bez Docker-a)

1. Kloniranje repozitorijuma

git clone <repository-url>
cd pitstopshop

2. Backend

cd backend
npm install
npx prisma generate
npx prisma migrate deploy
npm run dev

Backend će biti dostupan na:

http://localhost:5000

Swagger dokumentacija:

http://localhost:5000/docs

3. Frontend

cd frontend
npm install
npm run dev

Frontend će biti dostupan na:

http://localhost:5173

🐳 Pokretanje pomoću Docker-a i docker-compose-a

Aplikacija je potpuno dockerizovana i može se pokrenuti jednom komandom.

1. Build i pokretanje svih servisa

docker compose up --build

Servisi koji se pokreću: - MySQL baza (port 3306) - Backend (port 5000) - Frontend (port 5173)

2. Pokretanje u pozadini

docker compose up --build -d

3. Gašenje servisa

docker compose down

4. Gašenje uz brisanje baze (volume-a)

docker compose down -v

🔐 Bezbednost

  • JWT autentifikacija u HTTP-only cookie-ju
  • Role-based autorizacija (customer, mechanic, admin)
  • Zaštita od IDOR napada kroz proveru vlasništva resursa
  • Prisma ORM zaštita od SQL Injection napada
  • CORS konfiguracija ograničena na frontend domen

About

internet-tehnologije-2025-vebprodavnicaautodelova_2022_0574 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 99.7%
  • Other 0.3%