Proyek ini bertujuan untuk mengembangkan sebuah sistem Internet of Things (IoT) yang terintegrasi dengan RESTful API untuk memonitor kondisi lahan pertanian. Sistem ini akan memungkinkan pengguna untuk memantau berbagai parameter dan kondisi lingkungan yang berkaitan dengan pertanian, seperti kelembaban tanah, suhu udara, tingkat kelembaban udara, cahaya matahari, dan lain-lain.
Sistem akan terdiri dari komponen-komponen berikut:
-
Perangkat IoT: Sensor dan perangkat lainnya yang terhubung ke lahan pertanian untuk mengukur kondisi lingkungan.
-
Backend RESTful API: Mengelola pengambilan data dari perangkat IoT, penyimpanan data, dan menyediakan antarmuka untuk pengguna untuk mengakses data.
-
Database: Menyimpan data pemantauan dan informasi konfigurasi sistem.
-
Antarmuka Pengguna: Antarmuka web atau aplikasi mobile yang memungkinkan pengguna untuk memantau data, mengelola perangkat, dan menerima notifikasi.
Berikut adalah langkah-langkah untuk menginstal dan menjalankan proyek:
-
Klon Repositori:
git clone https://github.com/maling-it/tanahku-be.git
-
Navigasi ke Direktori Proyek:
cd tanahku-be
-
Jalankan Aplikasi:
-
Menggunakan Maven:
mvn spring-boot:run
-
Jika Belum Menginstall maven:
sudo apt install maven
mvn --version
-
-
Java Version:
<java.version>17</java.version>
-
Spring-Boot Version:
<version>3.1.8</version>
-
Konfigurasi proyek seperti database dan lain-lain di file application.properties:
# Port used server.port= 8888 # Configuration with mysql database spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=username spring.datasource.password=password spring.datasource.url=jdbc:mysql://localhost:3306/tanahku spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.hikari.minimum-idle=10 spring.datasource.hikari.maximum-pool-size=50 spring.jpa.open-in-view=true # spring.jpa.properties.hibernate.format_sql=true # spring.jpa.properties.hibernate.show_sql=true #Auto create table # spring.jpa.hibernate.ddl-auto = update
-
Dependency:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> </dependencies>
Untuk penggunaan API, bisa dilihat pada folder docs.