Membuat sebuah REST API yang dapat digunakan untuk melakukan manajemen data mobil dengan fitur authentication. Kriteria sebagai berikut:
- Membuat database dengan menggunakan SQL hingga melakukan CRUD data
- Mampu menerapkan Service Repository Pattern di dalam sebuah Project
- Mampu membuat asynchronous function dan menjalankannya
- Mampu menerapkan Token Based Authentication sebagai metode autentikasi di dalam REST API
- Mampu membuat Open API Documentation dari REST API yang akan dibuat
- Menggunakan TypeScript sebagai bahasa pemrograman
- Membuat database dengan menggunakan SQL hingga melakukan CRUD data
- Mampu menerapkan Service Repository Pattern di dalam sebuah Project
- Mampu membuat asynchronous function dan menjalankannya
- Mampu menerapkan Token Based Authentication sebagai metode autentikasi di dalam REST API
- Mampu membuat Open API Documentation dari REST API yang akan dibuat
- Menggunakan TypeScript sebagai bahasa pemrograman
This project is a sample Node.js application with Express.js using Docker Compose for container management and Knex.js as the ORM for the database. This is a step-by-step guide to install and run this project locally.
Make sure you have installed the following software before getting started:
- Docker: Install Docker
- Docker Compose: Install Docker Compose
- Node.js and npm: Install Node.js and npm
- Git: Install Git
-
Clone the Repository
git clone https://github.com/Hassanjadi/car-management-api
-
Navigate to the Project Directory
cd car-management-api
-
Install Dependencies
npm install
-
Build and Run Docker Containers
docker-compose up --build
-
Run Database Migrations & Seeds
npx knex migrate:latest
npx knex seed:run
The project is now running and can be accessed at http://localhost:3000
.
No | URI | Method | Description |
---|---|---|---|
1 | /api/v1/register | POST | Register Member |
2 | /api/v1/login | POST | Login |
No | URI | Method | Description |
---|---|---|---|
1 | /api/v1/user | GET | Getting All Users |
2 | /api/v1/admin | POST | Adding Admin |
3 | /api/v1/who-am-i | GET | Current User |
No | URI | Method | Description |
---|---|---|---|
1 | /api/v1/cars | POST | Adding Cars |
2 | /api/v1/cars | GET | Getting All Cars |
3 | /api/v1/cars/:id | GET | Getting Specified Cars |
4 | /api/v1/cars/:id | PUT | Update Cars |
5 | /api/v1/cars/:id | DELETE | Delete car |