Laravel 12.0 | Tailwind 4.0.0
Aplikasi Note Taking adalah perangkat lunak yang dirancang untuk membantu pengguna mencatat, mengatur, dan menyimpan informasi dalam bentuk digital dengan fungsi utamanya adalah sebagai pengganti buku catatan fisik, memo, atau alat tulis tradisional.
---Berikut adalah skema rancangan database:
- Tabel users
Tabel ini akan menyimpan informasi tentang setiap pengguna.
Kolom | Tipe Data | Keterangan |
---|---|---|
id | INT (PK, AI) | ID unik untuk setiap pengguna |
slug | UUID | ID Unik untuk param |
name | VARCHAR(255) | Nama pengguna |
VARCHAR(255) | Alamat email pengguna | |
password | VARCHAR(255) | Hash kata sandi pengguna |
avatar | VARCHAR(255) | Photo pengguna |
created_at | DATETIME | Stempel waktu pembuatan akun |
- Tabel posts
Tabel ini akan menyimpan informasi tentang setiap postingan atau catatan.
Kolom | Tipe Data | Keterangan |
---|---|---|
id | INT (PK, AI) | ID unik untuk setiap postingan |
slug | UUID | ID Unik untuk param |
user_id | INT (FK) | ID pengguna yang membuat postingan ini |
content | TEXT | Isi atau deskripsi postingan |
visibility | ENUM('public', 'private', 'shared') | Menentukan visibilitas postingan |
created_at | DATETIME | Stempel waktu pembuatan postingan |
- Tabel comments
Tabel ini akan menyimpan komentar pada setiap postingan.
Kolom | Tipe Data | Keterangan |
---|---|---|
id | INT (PK, AI) | ID unik untuk setiap komentar |
note_id | INT (FK) | ID postingan yang dikomentari |
user_id | INT (FK) | ID pengguna yang membuat komentar |
comment | TEXT | Isi komentar |
comment_parent_id | INT | Merujuk ke comments.id lain (opsional/nullable). Untuk fitur balasan komentar (reply) |
created_at | DATETIME | Stempel waktu pembuatan komentar |
- Tabel post_shares
Tabel ini akan mengelola postingan yang di-share ke pengguna tertentu. Ini akan digunakan ketika visibility diatur ke 'shared'.
Kolom | Tipe Data | Keterangan |
---|---|---|
id | INT (PK, AI) | ID unik untuk setiap pembagian |
note_id | INT (FK) | ID postingan yang dibagikan |
shared_with_user_id | INT (FK) | ID pengguna yang dibagikan postingan ini |
created_at | DATETIME | Stempel waktu pembagian |
- Pendaftaran & Login Pengguna 🚪
Alur ini adalah gerbang utama bagi pengguna untuk masuk ke dalam aplikasi.
-
Pengguna (Baru):
- Membuka aplikasi dan memilih opsi "Daftar".
- Mengisi formulir dengan nama, email, dan password.
- Menekan tombol "Daftar & Masuk". -
Pengguna (Terdaftar):
- Membuka aplikasi dan memilih opsi "Login".
- Memasukkan email dan password.
- Menekan tombol "Masuk".
-
Membuat & Mengelola Catatan 📝
Ini adalah fungsi inti dimana pengguna membuat konten pribadinya.
- Pada halaman dashboard, tekan tombol "Buat Catatan Baru".
- Isi konten catatan.
- Pilih Visibility Public, Private atau Bagikan ke.
- Jika pengguna memilih visibility Bagikan ke maka pengguna harus mengisi pengguna lain yang dituju.
- Setelah semua telah terisi tekan tombol Simpan Catatan. -
Membagikan Catatan 🤝
Alur ini menjelaskan bagaimana sebuah catatan pribadi bisa diakses oleh orang lain.
a. Berbagi ke Pengguna Tertentu (Pemilik Catatan) :
- Membuka salah satu catatan pribadinya.
- Mencari dan menekan tombol "Bagikan" atau "Share".
- Pilih pengguna yang dituju.
- Menekan tombol "Undang".
b. Berbagi ke Publik (Pemilik Catatan) :
- Membuka catatan pribadinya.
- Menemukan opsi seperti "Jadikan Publik".
- Mengaktifkan opsi tersebut. -
Berkomentar 💬
Alur ini menjelaskan bagaimana seorang pengguna melihat catatan dan berinteraksi.
- Buka catatan yang ingin dikomentari .
- Mengetik komentar di kolom yang tersedia.
- Kirim komentar
- @iconify/tailwind4
Digunakan sebagai icon set yang digunakan, Alasan penggunaan plugin ini karena open source dan banyak pilihan paket icon. - Tinymce
Digunakan sebagai TextEditor pada saat tambah catatan. Alasan penggunaan plugin ini karena fitur lumayan bagus dan mudah digunakan. - Toastr
Digunakan untuk menampilkan notifikasi. Alasan penggunaan plugin ini karena mudah dipakai.