Ini adalah Project Based Learning dari Typescript berupa REST API
Project Based Learning Typescript REST api adalah sebuah proyek belajar pemrograman dengan menggunakan bahasa Typescript yang fokus pada pembuatan RESTful API. Pada proyek ini, Anda akan mempelajari cara mengembangkan aplikasi web dengan menggunakan Node.js dan Express.js, serta menggunakan database MongoDB sebagai penyimpan data.
Instruksi ini akan memberi Anda salinan proyek dan berjalan di mesin lokal Anda untuk tujuan pengembangan dan pengujian.
Node.js v14.15.0 or later NPM v6.14.8 or later MongoDB v4.4.5 or later
Clone the repository:
git clone https://github.com/mayopi/TS-REST.git
Install dependencies:
cd TS-REST npm install
PENTING!: Buat file .env di direktori root proyek dengan konfigurasi berikut:
MONGO_URL=mongodb://{username}:{password}@{host}:{port}/{database}
PORT=3000
SECRET_ACCESS_TOKEN={random-string}
Ganti {username}, {password}, โโ{host}, {port}, {database}, dan {random-string} dengan konfigurasi Anda sendiri.
Untuk memulai server pengembangan, jalankan:
npm run dev
Server akan mendengarkan pada port 3000 secara default.
- Otentikasi Pengguna
- Daftarkan Pengguna
- POST /api/auth/register
Mendaftarkan Pengguna baru.
Parameter | Type | Required | Description |
---|---|---|---|
String | Yes | User Email Address | |
username | String | Yes | User Name |
password | String | Yes | User Password |
- Login Pengguna
- POST /api/auth/login
Log in menggunakan Pengguna.
Parameter | Type | Required | Description |
---|---|---|---|
String | Yes | User's email address. | |
password | String | Yes | User's password. |
- Logout Pengguna
- POST /api/auth/logout
Log out Pengguna saat ini.
- Managemen Pengguna
- Get All Users
- GET /api/users
- Get All Users
Mengembalikan daftar semua pengguna.
- Dapatkan Pengguna berdasarkan Email
- GET /api/users/:email
Mengembalikan satu pengguna dengan Email yang ditentukan.
- Express - Web framework for Node.js
- Mongoose - Object data modeling library for MongoDB
- TypeScript - Typed superset of JavaScript
Mayopi - Initial work