Skip to content

kaizeenn/PeringatanBanjir

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PeringatanBanjir

Struktur project sudah dipisah menjadi:

  • backend/ untuk API + MQTT subscriber
  • frontend/ untuk aplikasi frontend

1) Setup MySQL

Jalankan SQL berikut:

SOURCE backend/database/schema.sql;

Atau copy isi backend/database/schema.sql ke MySQL client.

2) Setup environment (backend)

cp backend/.env.example backend/.env

Edit backend/.env sesuai kredensial MySQL kamu.

Tambahkan juga konfigurasi API eksternal untuk cuaca dan pasang surut:

WEATHER_API_BASE_URL=https://api.bmkg.go.id/publik/prakiraan-cuaca?adm4=35.29.13.2007
WEATHER_API_KEY=
WEATHER_LOCATION_LAT=-7.0167
WEATHER_LOCATION_LON=113.8667

TIDE_API_BASE_URL=
TIDE_API_KEY=
TIDE_STATION_CODE=sumenep

3) Install dependency

npm install --prefix backend
npm install --prefix frontend

4) Build frontend

npm run build --prefix frontend

5) Jalankan server backend

npm start --prefix backend

Akses:

  • Frontend: http://localhost:3000
  • API all data: http://localhost:3000/api/sensor-data
  • API latest: http://localhost:3000/api/sensor-data/latest

6) API Integrasi Cuaca + Pasang Surut

Endpoint backend baru:

  • GET /api/external/config ambil konfigurasi integrasi aktif
  • PUT /api/external/config simpan konfigurasi dari frontend
  • POST /api/external/weather/fetch fetch cuaca dari provider eksternal
  • POST /api/external/tide/fetch fetch pasang surut dari provider eksternal
  • POST /api/external/fetch-all fetch cuaca + pasang surut sekaligus

Semua endpoint di atas sudah terhubung ke halaman Pengaturan (/settings) agar URL API, API key, dan lokasi/stasiun bisa diubah langsung dari web.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 68.3%
  • Dart 12.7%
  • Python 7.7%
  • C++ 4.9%
  • CMake 3.9%
  • CSS 1.1%
  • Other 1.4%