Skip to content

echoTech187/note-talking-app

Repository files navigation

Aplikasi Note Taking Sederhana

Laravel 12.0 | Tailwind 4.0.0


📍 1. Overview

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.

---

📁 2. Rancangan Struktur Database

Berikut adalah skema rancangan database:

  1. 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
email VARCHAR(255) Alamat email pengguna
password VARCHAR(255) Hash kata sandi pengguna
avatar VARCHAR(255) Photo pengguna
created_at DATETIME Stempel waktu pembuatan akun
  1. 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
  1. 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
  1. 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

👾 Flow Process dari Aplikasi.

  1. 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".


  1. 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.

  2. 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.

  3. Berkomentar 💬
    Alur ini menjelaskan bagaimana seorang pengguna melihat catatan dan berinteraksi.
    - Buka catatan yang ingin dikomentari .
    - Mengetik komentar di kolom yang tersedia.
    - Kirim komentar



📌 Library / Plugin

  • @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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published