Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separation of concern kasus application data dan user data #703

Open
caynine9 opened this issue Jan 18, 2025 · 0 comments
Open

Separation of concern kasus application data dan user data #703

caynine9 opened this issue Jan 18, 2025 · 0 comments

Comments

@caynine9
Copy link

caynine9 commented Jan 18, 2025

Halo Pak Eko dan teman-teman yang lainnya,

Saya rencana mau bangun sebuah web app e-commerce, dan saya ada beberapa pertanyaan terkait desain arsitektur aplikasinya. Saya mau pisahin application data (produk, transaksi, dll.) dan user data (akun user dan auth).

Rencananya saya mau bikin dua endpoint API, kedua endpoint API ini dari app Spring Boot yang beda:

  1. Endpoint /auth/ (User) dengan PORT 8080: registrasi, login, validasi token, edit credentials
  2. Endpoint /api/ecommerce dengan PORT 8081: daftar produk, katalog, keranjang belanja, dan transaksi.

Untuk database, saya rencanakan dua database untuk masing2 API dalam satu instance MySQL:

  1. Database "User": tabel-tabel terkait pengguna seperti users, roles, dan auth_tokens.
  2. Database "Ecommerce": tabel-tabel terkait aplikasi seperti products, transactions, dan carts.

Tujuan saya yaitu agar data user dapat digunakan lintas layanan (misalnya untuk aplikasi mobile).

Rencana tech stack yang mau saya gunakan yaitu Spring Boot, Next.js dan MySQL.

Pertanyaannya:

  1. Apakah ini udah sesuai dengan prinsip separation of concerns? Apakah ada risiko kalau data user dan data aplikasi dipisah?
  2. Kira-kira apakah akan ada masalah performa, terutama kalau lagi banyak request?
  3. Untuk skalabilitas, kalau saya mau menambahkan layanan baru, apakah praktek seperti ini akan memudahkan atau bikin makin kompleks?
  4. Apakah lebih baik masing2 endpoint mempunyai app-nya masing2 atau dua endpoint tsb digabung ke dalam satu app/codebase?
  5. Mungkin menurut saya pertanyaan terpenting (hehe), apakah akan berat di biaya kalau menerapkan prinsip ini?

Mohon masukannya, terutama dari pengalaman Pak Eko dan teman-teman lainnya, maaf pertanyaannya terlalu panjang (hehe).
Terimakasih sebelumnya.

@caynine9 caynine9 changed the title Separation of concern (studi kasus application data dan user data) Separation of concern kasus application data dan user data Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant