Markdown API Talking adalah sebuah proyek API yang dikembangkan menggunakan Elysia dan Express. API ini menyediakan layanan untuk menyimpan dan merender catatan dalam format markdown.
-
Menyimpan Catatan
- Fungsi: Menyimpan catatan dalam format markdown.
- Cara Kerja: Pengguna mengirimkan teks catatan dalam format markdown melalui endpoint yang ditentukan. Server menyimpan catatan tersebut dan mengembalikan ID unik sebagai pengenal catatan.
-
Merender Catatan:
- Fungsi: Mengambil dan merender catatan markdown menjadi HTML.
- Cara Kerja: Pengguna meminta catatan dengan ID tertentu. Server membaca catatan markdown yang sesuai dari penyimpanan, merendernya menjadi HTML, dan mengembalikan HTML tersebut kepada pengguna.
-
Simpan Catatan Markdown: Gunakan endpoint POST /save-note untuk menyimpan catatan baru. Kirim teks markdown, dan dapatkan kembali ID catatan.
-
Dapatkan dan Render Catatan: Gunakan endpoint GET /get-note/:id untuk mendapatkan versi HTML dari catatan yang disimpan. Kirimkan ID catatan sebagai parameter URL, dan dapatkan HTML yang dirender.
- Node.js
- TypeScript
- Elysia
- Express
- Markdown-it
Untuk memulai proyek ini, pastikan Anda telah menginstal Node.js dan bun. Kemudian ikuti langkah-langkah berikut:
-
Clone repositori ini:
git clone https://github.com/username/markdown-api-talking.git cd markdown-api-talking
-
Instal dependensi:
bun install
-
Jalankan Server:
bun run src/server.ts
/project-root
├── /node_modules
├── /src
│ ├── /controllers
│ │ ├── grammarController.ts
│ │ └── noteController.ts
│ ├── /middlewares
│ │ └── uploadMiddleware.ts
│ ├── /routes
│ │ ├── grammarRoutes.ts
│ │ └── noteRoutes.ts
│ ├── /services
│ │ ├── grammarService.ts
│ │ └── markdownService.ts
│ ├── /utils
│ │ └── utils.ts
│ ├── app.ts
│ └── server.ts
├── bun.lockb
├── bunfig.toml
├── package-lock.json
├── package.json
├── README.md
└── tsconfig.json
Menyimpan Catatan Endpoint: POST /save-note
Request Body:
{
"text": "Isi catatan dalam format markdown"
}
Response:
{
"noteId": "ID dari catatan yang disimpan"
}
Mengambil dan Merender Catatan Endpoint: GET /get-note/:id
Response:
{
"html": "Isi catatan dalam format HTML"
}