SelesaiFull-stack, solo

ESdemy

Warga sebuah pulau, diajar online oleh pengajar terbaik yang bisa ditemukan.

ESdemy
Status
Selesai
Kualitas video
3
Klaster Redis
3 + 3
Worker FFmpeg
2

Masalah yang harus diselesaikan.

Pengajar perlu menjual kursus berbayar berisi video, dokumen, dan kuis, sementara siswa perlu menontonnya tanpa bisa mengunduhnya. Konversi video itu berat, pembayaran tidak boleh hilang di tengah jalan, dan siswa ingin bertanya tentang materi kapan saja.

Cara saya membangunnya.

  1. 01Microservice Go dengan Clean Architecture yang berkomunikasi lewat gRPC, di belakang NGINX dengan rate limit per rute dan caching selektif.
  2. 02MP4 yang diunggah dikonversi menjadi potongan HLS rendah, sedang, dan tinggi oleh dua worker FFmpeg lewat antrean Temporal, lalu disajikan dari SeaweedFS melalui cache Varnish.
  3. 03Setiap permintaan potongan video, dokumen, dan kuis diperiksa terhadap pembelinya, jadi hanya yang sudah membayar yang bisa membuka kursus.
  4. 04Layanan AI berbasis Python menyematkan setiap dokumen kursus ke vector database, sehingga tutor menjawab dari materi, bukan menebak.
  5. 05PostgreSQL dengan master dan replika di belakang Pg-Pool, pencarian BM25 lewat pg_textsearch, dan klaster Redis untuk data yang sering diakses.

Teknologi

GogRPCPythonPostgreSQLRedisTemporalNGINXDocker