KasaVault, React Native tabanli mobil istemci + Spring Boot tabanli backend ile gelistirilmis bir sifre kasasi uygulamasidir.
- Email + 6 haneli PIN ile kayit/giris
- JWT tabanli erisim ve yenileme token akisi
- Sifre kaydi ekleme, listeleme, guncelleme, silme
- Tum kasa verilerini temizleme
- Guclu sifre uretme yardimci endpointi
- Veritabaninda sifrelerin AES-GCM ile sifreli saklanmasi
- Frontend: React Native, TypeScript, Redux Toolkit, Axios
- Backend: Spring Boot 3, Spring Security, Spring Data JPA
- Veritabani: PostgreSQL
- Container: Docker Compose
.
|-- backend
| |-- src/main/java/com/sifrekasasi
| | |-- application
| | |-- domain
| | |-- infrastructure
| | `-- presentation
| `-- src/main/resources
|-- frontend
| `-- src
|-- .env.example
`-- docker-compose.yml
- Docker Desktop (onerilen calistirma yolu)
- Node.js 18+ ve npm 10+ (frontend gelistirme icin)
- (Opsiyonel) Java 17 + Maven (backend'i lokalde calistirmak istersen)
- Ortam dosyasini hazirla:
Copy-Item .env.example .env- Servisleri baslat:
docker compose up --build -d- Durumu kontrol et:
docker compose ps
docker compose logs backend --tail 100- Backend saglik kontrolu:
Invoke-RestMethod http://localhost:8080/actuator/healthcd frontend
npm install
npm run lint
npx tsc --noEmit
npm startPlatform calistirma:
npm run android
npm run iosNot:
.envicindekiAPI_URLdegeri varsayilan olarakhttp://localhost:8080.- Android emulator kullanirken gerekirse
http://10.0.2.2:8080kullan.
Base URL: http://localhost:8080
POST /api/auth/registerPOST /api/auth/loginPOST /api/auth/refresh
Ornek register body:
{
"email": "user@example.com",
"adSoyad": "Test User",
"pin": "123456"
}GET /api/kasaPOST /api/kasaPATCH /api/kasa/{id}DELETE /api/kasa/{id}DELETE /api/kasa/hepsi
GET /api/yardimci/sifre-uret
- Uretim ortami icin
.envicindekiJWT_SECRETveENCRYPTION_KEYdegerlerini degistir. - Varsayilan degerlerle production'a cikma.