Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KasaVault

KasaVault, React Native tabanli mobil istemci + Spring Boot tabanli backend ile gelistirilmis bir sifre kasasi uygulamasidir.

Ozellikler

  • 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

Teknolojiler

  • Frontend: React Native, TypeScript, Redux Toolkit, Axios
  • Backend: Spring Boot 3, Spring Security, Spring Data JPA
  • Veritabani: PostgreSQL
  • Container: Docker Compose

Proje Yapisi

.
|-- backend
|   |-- src/main/java/com/sifrekasasi
|   |   |-- application
|   |   |-- domain
|   |   |-- infrastructure
|   |   `-- presentation
|   `-- src/main/resources
|-- frontend
|   `-- src
|-- .env.example
`-- docker-compose.yml

Gereksinimler

  • Docker Desktop (onerilen calistirma yolu)
  • Node.js 18+ ve npm 10+ (frontend gelistirme icin)
  • (Opsiyonel) Java 17 + Maven (backend'i lokalde calistirmak istersen)

Hizli Baslangic (Docker ile)

  1. Ortam dosyasini hazirla:
Copy-Item .env.example .env
  1. Servisleri baslat:
docker compose up --build -d
  1. Durumu kontrol et:
docker compose ps
docker compose logs backend --tail 100
  1. Backend saglik kontrolu:
Invoke-RestMethod http://localhost:8080/actuator/health

Frontend Calistirma

cd frontend
npm install
npm run lint
npx tsc --noEmit
npm start

Platform calistirma:

npm run android
npm run ios

Not:

  • .env icindeki API_URL degeri varsayilan olarak http://localhost:8080.
  • Android emulator kullanirken gerekirse http://10.0.2.2:8080 kullan.

API Ozeti

Base URL: http://localhost:8080

Auth

  • POST /api/auth/register
  • POST /api/auth/login
  • POST /api/auth/refresh

Ornek register body:

{
  "email": "user@example.com",
  "adSoyad": "Test User",
  "pin": "123456"
}

Kasa (Bearer token gerekli)

  • GET /api/kasa
  • POST /api/kasa
  • PATCH /api/kasa/{id}
  • DELETE /api/kasa/{id}
  • DELETE /api/kasa/hepsi

Yardimci

  • GET /api/yardimci/sifre-uret

Guvenlik Notlari

  • Uretim ortami icin .env icindeki JWT_SECRET ve ENCRYPTION_KEY degerlerini degistir.
  • Varsayilan degerlerle production'a cikma.

About

Secure password manager with React Native, Spring Boot, PostgreSQL and Docker, featuring JWT authentication and AES-GCM encryption.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages