SEJATIDIMEDIA Logo
Tersedia Sesi Konsultasi Gratis
SejatiDimedia Logo
Kembali ke Portofolio
Sedia Arcive - Digital Archive Management System

Sedia Arcive - Digital Archive Management System

SPESIFIKASI TEKNIS

Detail Proyek

Sedia Archive — Secure File Management & Governance Platform

Platform arsip file berbasis web yang dirancang untuk penyimpanan, pengelolaan, dan kolaborasi berkas secara aman bagi individu maupun tim. Menggabungkan antarmuka interaktif berbasis Astro SSR + React Islands dengan sistem tata kelola enterprise: kontrol kuota storage, batas ukuran unggahan, izin berbasis peran (RBAC), tautan publik terproteksi, hingga audit trail aktivitas pengguna. Dibangun mandiri secara end-to-end.
Stack: Astro · React · Tailwind CSS · Better Auth · Drizzle ORM · PostgreSQL · Cloudflare R2


Ringkasan Proyek

  • Kategori: Personal Project
  • Peran: Full-Stack Engineer
  • Tech Stack: Astro, React, Tailwind CSS, Better Auth, Drizzle ORM, Neon PostgreSQL, Cloudflare R2, Vercel Adapter

Masalah yang Dihadapi

Sebelum Sedia Archive dibangun, pengelolaan arsip digital bagi tim maupun individu kerap mengalami beberapa kendala operasional:

  • Penyimpanan Terfragmentasi: Berkas disimpan di berbagai platform terpisah tanpa struktur direktori dan metadata yang terstandar.
  • Berbagi File Tanpa Kontrol Akses: Kurangnya transparansi terkait batasan hak akses (view/edit/download) pada tautan yang dibagikan.
  • Ketiadaan Pembatasan Sumber Daya: Tidak adanya mekanisme pembatasan kuota storage dan batas maksimum ukuran berkas per pengguna.
  • Tidak Ada Jejak Audit (Audit Trail): Perubahan, penghapusan, atau pembagian berkas tidak terekam dalam log aktivitas yang memadai.
  • Tata Kelola Admin yang Kaku: Administrator kesulitan mengontrol alur permintaan izin unggah (upload access request) dari pengguna.

Solusi & Fitur Utama

  1. Manajemen File & Structural Folder
    Pengunggahan berkas yang dilengkapi validasi kuota storage dan batas ukuran berkas secara otomatis, struktur nested folder bertingkat, opsi starred/unstarred, serta pratinjau (preview) berkas via signed URL aman.

  2. Dua Tingkat Siklus Hapus (Trash Lifecycle & Soft Delete)
    Mekanisme soft delete untuk memindahkan berkas ke folder sampah (Trash) dengan opsi pemulihan (restore) atau penghapusan permanen (hard delete) yang otomatis memperbarui penggunaan storage.

  3. Multi-Level File Sharing & Collaboration

    • Tautan Publik: Tautan berbagi dengan token acak, proteksi kata sandi, batas masa berlaku (expiry: 1 jam hingga 30 hari), dan penguncian tombol download.
    • Internal Sharing: Pembagian berkas/folder antar-pengguna terdaftar dengan kontrol hak akses granular (view atau edit).
  4. Pencarian Terstruktur & Filtering Dynamic
    Pencarian berbasis nama berkas/folder dipadukan dengan filter tipe dokumen, rentang tanggal, dan status penandaan (starred).

  5. Admin Governance & Access Control
    Pengaturan hak akses berbasis peran (admin, user), penyesuaian kuota storageLimit dan maxFileSize per individu, serta alur pengajuan izin unggah (request upload access) yang terintegrasi dengan notifikasi.

  6. Monitoring, Insight & Activity Audit Logs
    Dashboard statistik penggunaan storage dan rekaman activity log terpusat untuk setiap tindakan kritis (upload, move, delete, restore, share, empty trash).


Tech Stack & Arsitektur

Sedia Archive dibangun dengan pemisahan tegas antara metadata transaksi (PostgreSQL) dan berkas biner (object storage Cloudflare R2).

  • Frontend Architecture: Menggunakan Astro untuk penanganan routing cepat dan Server-Side Rendering (SSR), dipadukan dengan React (Client Islands) untuk modul antarmuka yang membutuhkan interaktivitas tinggi.
  • Backend & Data Layer: Memanfaatkan Astro API Routes sebagai backend layer, Better Auth untuk autentikasi (Email/Password & Google OAuth), Drizzle ORM untuk kueri terstruktur, dan Neon PostgreSQL sebagai basis data relasional.
  • Binary Object Storage: Menggunakan Cloudflare R2 (S3-compatible) dengan Signed URL untuk menjaga agar akses berkas privat tidak terekspos secara publik.
  • Pola Arsitektur: Struktur modular berbasis domain (files, folders, share, trash, admin, notifications, activity) dengan pemeriksaan izin akses di tingkat API (API-level permission check).

Tantangan Teknis & Solusi

  • Pemeriksaan Hak Akses Multi-Tingkat (Complex Access Control):
    Tantangan: Pengguna dapat berstatus sebagai pemilik berkas, penerima sharing, atau administrator, di mana tiap peran membutuhkan batasan aksi yang berbeda.
    Solusi: Pengecekan izin diimplementasikan langsung pada middleware dan endpoint API (memvalidasi ownership + shared permission + system role), bukan sekadar menyembunyikan elemen di antarmuka (UI).

  • Konsistensi Metadata DB vs Binary Storage R2:
    Tantangan: Mencegah terjadinya orphaned files di R2 saat berkas dihapus atau dipulihkan dari database.
    Solusi: Penerapan pola soft delete di database. Proses penghapusan fisik di Cloudflare R2 dan kalkulasi ulang storage usage hanya dieksekusi saat proses permanent delete atau empty trash.

  • Validasi Kuota Unggahan Per Pengguna:
    Tantangan: Mencegah pengguna melebihi kuota penyimpanan secara akurat tanpa membebani performa server.
    Solusi: Menjalankan fungsi validasi terpusat sebelum unggahan diproses (memeriksa uploadEnabled, maxFileSize, storageLimit, dan storageUsed), lalu memperbarui status penggunaan storage secara atomik setelah berkas berhasil disimpan.

  • Proteksi Tautan Berbagi Publik:
    Tantangan: Tautan berkas publik rawan diakses secara tidak sah jika tidak memiliki mekanisme proteksi yang ketat.
    Solusi: Mengimplementasikan URL berbasis token yang divalidasi dengan pengecekan masa berlaku (expiry date), verifikasi hash kata sandi, dan variabel penguncian download.


Pembelajaran & Catatan Teknis

  • Merancang arsitektur web modern menggunakan pola Astro SSR + React Client Islands untuk mengoptimalkan performa pemuatan halaman.
  • Mengelola arsitektur object storage (Cloudflare R2) terintegrasi dengan basis data PostgreSQL via Drizzle ORM.
  • Menerapkan sistem tata kelola berkas berstandar enterprise, mencakup validasi kuota, signed URL, dan audit trail log.

Spesifikasi Proyek

StatusSelesai
Timeline24 Jan 2026 - 31 Jan 2026
Teknologi yang Digunakan
AstroReactTailwindBetterAuthPostgreSQLCloudflare R2

Ingin Proyek Serupa?

Tim ahli kami siap membantu Anda merealisasikan inovasi sistem software terbaik.

Konsultasi Sekarang

Project Showcase

7 Tangkapan Layar

Dashboardpage
Landingpage
Sharefolder
Share Page
Trash Page
+3Gallery

Proyek Lainnya

Jelajahi karya rekayasa perangkat lunak lainnya.

Lihat Semua Proyek
SupportSense AI

SupportSense AI

Engine AI customer support enterprise yang menggabungkan Hybrid RAG + KAG (PostgreSQL & ChromaDB) untuk pelacakan pesanan tanpa halusinasi serta perutean sub-detik yang hemat biaya

1 Sep 2026Detail
Koperasi Sedia

Koperasi Sedia

Core banking koperasi terintegrasi: multijenis simpanan, pinjaman flat/anuitas, kasir harian, pembagian SHU sesuai regulasi, dan kontrak hukum otomatis

1 Sep 2026Detail
Bizinsight AI

Bizinsight AI

BizInsight AI adalah sistem Multi-Agent yang mengubah pertanyaan bisnis sehari-hari menjadi query database, grafik interaktif, dan wawasan bisnis otomatis tanpa perlu paham SQL.

25 Agu 2026Detail