GIS Kendal API

Welcome to the GIS Kendal Backend API. This server provides endpoints for GIS data management with authentication and role-based access control.

API Documentation

Below are the main endpoints available in this API:

POST /api/auth/login

Login with email and password to get an authentication token.

GET /api/auth/profile

Get the profile of the currently authenticated user.

GET /api/users

Get all users (admin only).

GET /api/geojson

Get all GeoJSON data (authenticated users).

Tema Data

API untuk manajemen tema data hierarki (dapat memiliki 1-5+ level kedalaman):

GET /api/themes/tree

Mendapatkan struktur pohon tema data lengkap.

GET /api/themes/level/:level

Mendapatkan semua tema pada level tertentu dalam hierarki.

GET /api/themes/:parentId/children

Mendapatkan tema-tema anak dari tema parent tertentu.

GET /api/themes/:id

Mendapatkan detail tema berdasarkan ID.

POST /api/themes

Membuat tema baru (admin only).

PUT /api/themes/:id

Mengupdate tema berdasarkan ID (admin only).

DELETE /api/themes/:id

Menghapus tema berdasarkan ID (admin only).

GET /api/themes/:themeId/datasets

Mendapatkan dataset berdasarkan tema (termasuk sub-tema).

Dataset

API untuk manajemen dataset yang terkait dengan tema data:

GET /api/datasets

Mendapatkan semua dataset dengan pagination.

GET /api/datasets/:id

Mendapatkan detail dataset berdasarkan ID.

POST /api/datasets

Membuat dataset baru dengan file upload (memerlukan autentikasi).

PUT /api/datasets/:id

Mengupdate dataset berdasarkan ID (memerlukan autentikasi).

DELETE /api/datasets/:id

Menghapus dataset berdasarkan ID (admin only).

Dataset Kecamatan

API untuk mengelola nilai per kecamatan dan klasifikasi nilai:

GET /api/dataset-kecamatan/kecamatan

Mendapatkan daftar semua kecamatan di Kabupaten Kendal.

GET /api/dataset-kecamatan/datasets/:datasetId/kecamatan

Mendapatkan semua nilai kecamatan untuk dataset tertentu.

POST /api/dataset-kecamatan/datasets/:datasetId/kecamatan

Menambahkan nilai-nilai kecamatan untuk dataset (admin only).

PUT /api/dataset-kecamatan/datasets/:datasetId/kecamatan/:kecamatanKode

Mengubah nilai untuk kecamatan tertentu dalam dataset (admin only).

GET /api/dataset-kecamatan/datasets/:datasetId/classifications

Mendapatkan klasifikasi range nilai untuk dataset tertentu.

POST /api/dataset-kecamatan/datasets/:datasetId/classifications

Menambahkan klasifikasi range nilai untuk dataset (admin only).

Getting Started

To use this API, you'll need to:

  1. Authenticate using /api/auth/login to get a JWT token
  2. Include the token in the Authorization header for subsequent requests: Authorization: Bearer <token>

For More Information

Detailed documentation is available in the following files: