Skip to content

Sistem Informasi dan Mitigasi Bencana merupakan sistem API yang berisi informasi seputar bencana yang sedang terjadi, pernah terjadi, dan dilengkapi dengan fitur pelaporan bencana dimana pengguna dapat melakukan pelaporan bencana yang terjadi didaerah nya.

Notifications You must be signed in to change notification settings

rizwijaya/SIMIG-SistemMitigasiAPI

Repository files navigation

Logo SIMIG

Daftar Isi


Deskripsi Sistem Informasi dan Mitigasi Bencana

SIMIG - Sistem Informasi dan Mitigasi Bencana merupakan sistem API yang berisi informasi seputar bencana yang sedang terjadi, pernah terjadi, dan dilengkapi dengan fitur pelaporan bencana dimana pengguna dapat melakukan pelaporan bencana yang terjadi didaerah nya. Selain itu pada sistem ini juga dilengkapi dengan fitur berita yang akan memberikan informasi bencana tersebut secara lengkap yang mana informasi dan berita yang disampaikan dalam situs ini akan dilakukan verifikasi terlebih dahulu sebelum akhirnya dipublish, untuk memastikan bahwa berita serta informasi tersebut merupakan informasi yang benar sesuai dengan fakta yang ada dilapangan.


Fitur yang tersedia

Terdapat beberapa fitur yang tersedia seperti sebagai berikut

  • Mitigasi Bencana
    • Data Bencana yang sedang terjadi
    • Perbarui Data Bencana
    • History Bencana
  • Laporkan Bencana
    • Lapor Bencana
    • Data Pelapor
  • Informasi Bencana
    • Informasi Bencana
    • Informasi Bencana dengan Kode Berita
    • Perbarui Berita Bencana
    • Tulis Berita Bencana
    • Hapus Informasi Bencana

Struktur Project

Struktur folder yang digunakan dalam project ini adalah sebagai berikut:

    ├── assets
    ├── cmd
    ├── config
    │   ├── config.go
    │   └── config.json
    ├── controllers
    │   ├── bencana.go
    │   ├── berita.go
    │   ├── login.go
    │   ├── pelapor.go
    │   └── users.go
    ├── db
    │   └── db.go
    ├── docs
    │   ├── docs.go
    │   ├── swagger.json
    │   └── swagger.yaml
    ├── dokumentasi
    ├── helpers
    │   ├── pwd_helper.go
    │   └── TemplateRegistry.go
    ├── middlewares
    │   ├── CustomContext.go
    │   └── middlewares.go
    ├── models
    │   ├── bencana_m.go
    │   ├── berita_m.go
    │   ├── documentation.go
    │   ├── login_m.go
    │   ├── pelapor_m.go
    │   └── response.go
    ├── routes
    │   └── routes.go
    ├── vendor
    ├── views
    │   ├── alerts.html
    │   ├── beranda.html
    │   ├── dashboard.html
    │   ├── documentation.html
    │   ├── footer.html
    │   ├── header.html
    │   ├── login.html
    │   └── register.html
    └── Readme.md

Pada struktur folder dari project ini menggunakan konsep MVC (Models, Views, dan Controller) yaitu dengan memisahkan antara Models yang digunakan untuk menghubungkan sistem dengan database, kemudian controllers digunakan untuk logika pada sistem dan views yang berisi mengenai tampilan depan dari website ini. Dimana selanjutnya terdapat folder middlewares yang berisi middlewares yang digunakan dalam project ini, docs berisi file documentasi dari project dan helpers berisi fungsi untuk melakukan hashing password serta renders template.


Panduan Instalasi (Installation Guide)

Instalasi awal

Langkah awal sebelum menggunakan project adalah melakukan instalasi yaitu sebagai berikut.

  1. Download dan install Golang.
  2. Buka folder $GOPATH /src/github.com/
  3. Pada folder tersebut dapatkan source code dari repository dengan mengetikkan perintah berikut pada terminal.
    git clone https://github.com/rizwijaya/SIMIG-SistemMitigasiAPI.git
    Atau bisa menggunakan perintah berikut.
    go get -u https://github.com/rizwijaya/SIMIG-SistemMitigasiAPI
Download Dependensi

Download dependensi package yang digunakan dengan menggunakan depedency manager.

dep ensure

Apabila tidak memiliki depedency manager bisa menggunakan perintah dari golang.

  1. Lacak dependensi pada project.
    go mod init
  2. Selanjutnya download dependensi dengan perintah berikut.
    go mod tidy
  3. Build project menggunakan perintah berikut.
    go build
Konfigurasikan Database
  1. Langkah pertama dalam konfigurasi database adalah buat database baru.
  2. Selanjutnya import database dari project, pada project ini database terletak di folder database/mitigasi.sql.
  3. Konfigurasikan database pada website, buka file config.json yang terletak pada folder config.
  4. Pada file config.json lakukan konfigurasi sesuai dengan database dan host yang digunakan yaitu sebagai berikut.
    {
        "DB_USERNAME" : "Username database yang digunakan",
        "DB_PASSWORD" : "Password database yang digunakan",
        "DB_PORT" : "Port dari database",
        "DB_HOST" : "Host dari database",
        "DB_NAME" : "Nama dari database"
    }
  5. Simpan Konfigurasi tersebut.
Jalankan Web Server

Setelah selesai melakukan instalasi dan konfigurasi file serta database selanjutnya jalankan web server pada folder project menggunakan perintah.

go run main.go

Buka browser dan masukkan alamat sebagai berikut.

https://localhost:8080/
Note:

Apabila terdapat error depedensi atau package hilang saat menjalankan aplikasi website maka download dependensi yang hilang tersebut, berikut daftar dependensi package yang digunakan.

github.com/Masterminds/goutils
github.com/Masterminds/semver
github.com/Masterminds/sprig
github.com/alecthomas/template
github.com/cpuguy83/go-md2man/v2
github.com/dgrijalva/jwt-go
github.com/go-openapi/spec
github.com/go-openapi/swag
github.com/go-sql-driver/mysql
github.com/google/uuid
github.com/gookit/validate
github.com/gorilla/sessions
github.com/huandu/xstrings
github.com/imdario/mergo
github.com/labstack/echo-contrib
github.com/labstack/echo/v4
github.com/mailru/easyjson
github.com/mitchellh/copystructure
github.com/russross/blackfriday/v2
github.com/stretchr/testify
github.com/swaggo/echo-swagger
github.com/swaggo/swag
github.com/tkanos/gonfig
github.com/urfave/cli/v2
golang.org/x/crypto
golang.org/x/tools

Untuk mendownload dependensi dapat menggunakan perintah go get atau menggunakan dependency manager. Dengan contoh sebagai berikut.

go get <Nama Package>

Dependency Manager

dep ensure -add <Nama Package>

Dokumentasi


Contoh Penggunaan

Contoh Penggunaan API website secara realtime dapat diakses pada dokumentasi website atau akses pada url berikut SIMIG - Sistem Informasi dan Mitigasi Bencana.


Halaman Utama

Halaman utama SIMIG

About

Sistem Informasi dan Mitigasi Bencana merupakan sistem API yang berisi informasi seputar bencana yang sedang terjadi, pernah terjadi, dan dilengkapi dengan fitur pelaporan bencana dimana pengguna dapat melakukan pelaporan bencana yang terjadi didaerah nya.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published