RESTful API untuk membuat dan mengelola form dinamis lengkap dengan pertanyaan, jawaban, dan sistem login JWT.
- Java 21
- Spring Boot 3.5.2
- Spring Security (JWT)
- PostgreSQL
- Swagger UI (springdoc-openapi)
- Maven
| Name | Password | |
|---|---|---|
| User 1 | user1@webtech.id | password1 |
| User 2 | user2@webtech.id | password2 |
| User 3 | user3@worldskills.org | password3 |
- 🔐 Login & Logout (JWT Auth)
- 📄 CRUD Form (dengan allowed domains)
- ❓ Tambah & Hapus Pertanyaan
- ✍️ Kirim & Lihat Jawaban Form
- 🧾 Swagger UI dokumentasi otomatis
./mvnw clean install
./mvnw spring-boot:runBuka di browser:
📚 http://localhost:8080/swagger-ui/index.html
Sebagian besar endpoint membutuhkan token JWT.
Setelah login, salin accessToken dan klik tombol Authorize di Swagger UI:
Bearer <accessToken>
| Method | Endpoint | Keterangan |
|---|---|---|
| POST | /api/v1/auth/login |
Login user |
| POST | /api/v1/auth/logout |
Logout user |
| POST | /api/v1/forms |
Buat form baru |
| GET | /api/v1/forms |
Lihat semua form user |
| GET | /api/v1/forms/{slug} |
Lihat detail form + pertanyaan |
| POST | /api/v1/forms/{slug}/questions |
Tambah pertanyaan ke form |
| DELETE | /api/v1/forms/{slug}/questions/{question_id} |
Hapus pertanyaan |
| POST | /api/v1/forms/{slug}/responses |
Submit jawaban form |
| GET | /api/v1/forms/{slug}/responses |
Lihat semua jawaban form (creator) |