Struktur Direktori
Bagian ini akan menjelaskan struktur direktori repositori Corsace. Informasi di bawah ini akan berguna bagi kamu untuk memahami bagaimana caranya untuk menemukan berkas tertentu, dan di mana kamu harus menempatkan berkas baru. Di samping itu, informasi ini juga berguna untuk memahami bagaimana repositori Corsace diorganisir, dan bagaimana masing-masing komponen situs saling berinteraksi antar satu sama lain.
Dokumentasi ini hanya mencakup struktur direktori yang ada secara garis besar. Untuk informasi yang lebih rinci, klik salah satu tautan pada bagian Navigasi di bawah.
Folder Utama
Sistem Corsace dapat dibagi menjadi tiga bagian utama:
- Frontend/Client - Rangkaian situs web yang dikunjungi oleh pengguna beserta seluruh asetnya. Seluruh situs Corsace dibuat dengan framework Nuxt 2, kecuali bagian dokumentasi yang dibuat dengan Astro/Starlight.
- Backend/Server - Berbagai program yang berjalan di server dan terkadang berinteraksi dengan situs frontend.
- Both/Miscellaneous - Berbagai berkas yang digunakan baik oleh frontend maupun backend serta yang tidak masuk ke dalam kedua kategori lainnya.
Ketiga bagian di atas diwakilkan oleh rangkaian folder berikut:
Berikut merupakan berbagai label yang digunakan untuk menandai kegunaan masing-masing folder:
Berikut merupakan berbagai folder di dalam repositori yang relevan terhadap proyek Corsace:
Berikut merupakan berbagai folder di dalam repositori yang relevan terhadap proyek Corsace:
📁 AYIM - Frontend/Client
📁 Assets - Frontend/Client
📁 BanchoBot - Backend/Server
📁 Closed - Frontend/Client
📁 DiscordBot - Backend/Server
📁 Docs - Frontend/Client
📁 Interfaces - Both/Miscellaneous
📁 MCA - Frontend/Client
📁 Main - Frontend/Client
📁 Models - Backend/Server
📁 Open - Frontend/Client
📁 Server - Backend/Server
📁 Typing - Both/Miscellaneous
📁 config - Both/Miscellaneous
📁 corsace-chart - Both/Miscellaneous
Navigasi
The following section navigation
is currently under construction.
Tergantung dari area yang ingin kamu kembangkan, kamu mungkin hanya akan perlu menggunakan sebagian folder yang ada. Berikut merupakan rincian masing-masing folder:
- Frontend/Client
- AYIM/Closed/MCA/Main/Open - Dibuat dengan Nuxt 2
- Docs - Dibuat dengan Astro/Starlight
- Assets - Gambar/Ikon, Font, CSS, Komponen, Terjemahan
- Backend/Server
- BanchoBot - Dibuat dengan Bancho.js
- DiscordBot - Dibuat dengan Discord.js
- Server/CronRunner - Dibuat dengan Koa
- Centrifugo - Dibuat dengan Centrifugo
- Models - Dibuat dengan TypeORM
- Both/Miscellaneous
- Interfaces - Berkas typing untuk komunikasi antara Nuxt dan Koa
- Typing - Berkas yang mengandung tipe augment khusus untuk pustaka npm
- config - Berkas konfigurasi untuk masing-masing instansi sistem
- corsace-chart - Berkas untuk bagan helm Kubernetes
Frontend/Client
Rangkaian folder berikut digunakan untuk bagian frontend situs web, yang merupakan bagian dari sistem yang dilihat dan diinteraksikan oleh pengguna.
Folder-folder ini (beserta situs web-nya masing-masing) meliputi:
- 📁 AYIM - https://ayim.corsace.io
- 📁 Closed - https://closed.corsace.io (Saat ini belum dibuat)
- 📁 Docs - https://docs.corsace.io
- 📁 MCA - https://mca.corsace.io
- 📁 Main - https://corsace.io
- 📁 Open - https://open.corsace.io
Folder sisanya (📁 Assets) digunakan untuk menyimpan aset-aset berikut untuk seluruh situs web di atas:
- Gambar/Ikon
- Font
- CSS
- Komponen
- Terjemahan
Backend/Server
The following section backend/server
is currently under construction.
Rangkaian folder berikut digunakan untuk bagian backend situs web, yang berisi server tempat situs web saling berkomunikasi atau node yang digunakan untuk berinteraksi dengan layanan eksternal seperti Discord, osu!, dan lain sebagainya.
Folder-folder ini (beserta layanannya masing-masing) meliputi:
- 📁 BanchoBot - Bot IRC osu!
- 📁 DiscordBot - Bot Discord
- 📁 Server
- Server - Instansi node yang berjalan pada server utama situs web
- CronRunner - Instansi node yang menjalankan job cron yang dihasilkan oleh berbagai instansi server yang berbeda
- Centrifugo - Instansi node yang menjalankan server Centrifugo
- Berhubung Centrifugo merupakan berkas tunggal yang dijalankan melalui perintah npm (lihat Development/Getting Started#Centrifugo, layanan ini tidak memiliki foldernya tersendiri. Meskipun demikian, terdapat endpoint untuk Centrifugo yang tersimpan pada folder 📁 Server](#).
Folder sisanya (📁 Models) digunakan untuk menyimpan model database untuk server.
Both/Miscellaneous
Rangkaian folder berikut memiliki kegunaannya tersendiri yang tidak tergolong ke dalam kedua kategori di atas:
- 📁 [Interfaces] - Berkas typing untuk komunikasi antara Nuxt dan Koa
- 📁 Typing - Tipe augment khusus untuk berbagai pustaka npm yang digunakan
- 📁 config - Berkas konfigurasi untuk masing-masing instansi sistem
- 📁 [corsace-chart] - Berkas untuk bagan helm Kubernetes