https://github.com/dandymaulana19/api-blogpost
Rest API using express js and prisma
https://github.com/dandymaulana19/api-blogpost
api express-js postgresql prisma-client rest-api
Last synced: 4 months ago
JSON representation
Rest API using express js and prisma
- Host: GitHub
- URL: https://github.com/dandymaulana19/api-blogpost
- Owner: DandyMaulana19
- Created: 2025-03-08T07:53:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-12T10:35:32.000Z (over 1 year ago)
- Last Synced: 2025-07-01T09:44:44.447Z (about 1 year ago)
- Topics: api, express-js, postgresql, prisma-client, rest-api
- Language: JavaScript
- Homepage:
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API Blogpost
API-Blogpost adalah sebuah REST API yang dikembangkan menggunakan **Express.js** dan **PostgreSQL**, serta dikelola dengan **Prisma ORM**. Proyek ini berjalan dalam lingkungan **Docker**.
## 🚀 Fitur
- CRUD Postingan Blog
- Manajemen User
- Database PostgreSQL dengan Prisma ORM
- Dikemas dalam Docker
## 🛠Teknologi yang Digunakan
- **Node.js & Express.js** - Backend framework
- **PostgreSQL** - Database
- **Prisma ORM** - Manajemen database
- **Docker & Docker Compose** - Containerization
- **pgAdmin** - Database Admin UI
---
## 📦 Instalasi dan Menjalankan Proyek
### **1. Clone Repository**
```sh
git clone https://github.com/DandyMaulana19/Api-Blogpost.git
cd Api-Blogpost
```
### **2. Konfigurasi Environment**
Buat file `.env.development` dan `.env.production` berdasarkan contoh di `.env.example`:
```env
DATABASE_URL=""
```
> Gantilah `` dengan koneksi PostgreSQL yang sesuai.
### **3. Menjalankan dengan Docker**
```sh
docker-compose up --build
```
Akses API di: [http://localhost:3100](http://localhost:3100)
### **4. Menjalankan Migrasi Prisma**
```sh
docker exec -it api-blogpost-app-1 sh
npx prisma migrate deploy
exit
```
### **5. Mengakses Database dengan pgAdmin**
Jika menggunakan **pgAdmin** di Docker, akses melalui:
```sh
http://localhost:5050
```
Gunakan credential berikut:
- **Email**: `admin@example.com`
- **Password**: `admin`
Tambahkan server baru dengan:
- **Host**: `db`
- **Port**: `5432`
- **Username**: ``
- **Password**: ``
---
## 🔥 API Endpoint
### **1. Postingan Blog**
| Method | Endpoint | Deskripsi |
|--------|---------|-----------|
| `GET` | `/posts` | Mendapatkan semua post |
| `POST` | `/posts` | Membuat post baru |
| `PUT` | `/posts/:id` | Update post |
| `DELETE` | `/posts/:id` | Hapus post |