|
| 1 | +# Tanahku V1 - Backend |
| 2 | + |
| 3 | +## Deskripsi Proyek |
| 4 | + |
| 5 | +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. |
| 6 | + |
| 7 | +## Arsitektur Sistem: |
| 8 | + |
| 9 | +Sistem akan terdiri dari komponen-komponen berikut: |
| 10 | + |
| 11 | +- Perangkat IoT: Sensor dan perangkat lainnya yang terhubung ke lahan pertanian untuk mengukur kondisi lingkungan. |
| 12 | + |
| 13 | +- Backend RESTful API: Mengelola pengambilan data dari perangkat IoT, penyimpanan data, dan menyediakan antarmuka untuk pengguna untuk mengakses data. |
| 14 | + |
| 15 | +- Database: Menyimpan data pemantauan dan informasi konfigurasi sistem. |
| 16 | + |
| 17 | +- Antarmuka Pengguna: Antarmuka web atau aplikasi mobile yang memungkinkan pengguna untuk memantau data, mengelola perangkat, dan menerima notifikasi. |
| 18 | + |
| 19 | +## Instalasi |
| 20 | + |
| 21 | +Berikut adalah langkah-langkah untuk menginstal dan menjalankan proyek: |
| 22 | + |
| 23 | +1. **Klon Repositori:** |
| 24 | + ```bash |
| 25 | + git clone https://github.com/maling-it/tanahku-be.git |
| 26 | + ``` |
| 27 | + |
| 28 | +2. **Navigasi ke Direktori Proyek:** |
| 29 | + ```bash |
| 30 | + cd tanahku-be |
| 31 | + ``` |
| 32 | +3. **Jalankan Aplikasi:** |
| 33 | + - Menggunakan Maven: |
| 34 | + ```bash |
| 35 | + mvn spring-boot:run |
| 36 | + ``` |
| 37 | + |
| 38 | + - Jika Belum Menginstall maven: |
| 39 | + ```bash |
| 40 | + sudo apt install maven |
| 41 | + ``` |
| 42 | + ```bash |
| 43 | + mvn --version |
| 44 | + ``` |
| 45 | + |
| 46 | +## Konfigurasi |
| 47 | +1. **Java Version:** |
| 48 | + ```bash |
| 49 | + <java.version>17</java.version> |
| 50 | + ``` |
| 51 | +2. **Spring-Boot Version:** |
| 52 | + ```bash |
| 53 | + <version>3.1.8</version> |
| 54 | + ``` |
| 55 | +3. **Konfigurasi proyek seperti database dan lain-lain di file *application.properties*:** |
| 56 | + ```bash |
| 57 | + # Port used |
| 58 | + server.port= 8888 |
| 59 | +
|
| 60 | + # Configuration with mysql database |
| 61 | + spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver |
| 62 | + spring.datasource.username=username |
| 63 | + spring.datasource.password=password |
| 64 | + spring.datasource.url=jdbc:mysql://localhost:3306/tanahku |
| 65 | + spring.datasource.type=com.zaxxer.hikari.HikariDataSource |
| 66 | + spring.datasource.hikari.minimum-idle=10 |
| 67 | + spring.datasource.hikari.maximum-pool-size=50 |
| 68 | +
|
| 69 | + spring.jpa.open-in-view=true |
| 70 | +
|
| 71 | + # spring.jpa.properties.hibernate.format_sql=true |
| 72 | + # spring.jpa.properties.hibernate.show_sql=true |
| 73 | +
|
| 74 | + #Auto create table |
| 75 | + # spring.jpa.hibernate.ddl-auto = update |
| 76 | + ``` |
| 77 | + |
| 78 | +4. **Dependency:** |
| 79 | + ```bash |
| 80 | + <dependencies> |
| 81 | + <dependency> |
| 82 | + <groupId>org.springframework.boot</groupId> |
| 83 | + <artifactId>spring-boot-starter-data-jpa</artifactId> |
| 84 | + </dependency> |
| 85 | + <dependency> |
| 86 | + <groupId>org.springframework.boot</groupId> |
| 87 | + <artifactId>spring-boot-starter-web</artifactId> |
| 88 | + </dependency> |
| 89 | +
|
| 90 | + <dependency> |
| 91 | + <groupId>org.springframework.boot</groupId> |
| 92 | + <artifactId>spring-boot-devtools</artifactId> |
| 93 | + <scope>runtime</scope> |
| 94 | + <optional>true</optional> |
| 95 | + </dependency> |
| 96 | + <dependency> |
| 97 | + <groupId>com.mysql</groupId> |
| 98 | + <artifactId>mysql-connector-j</artifactId> |
| 99 | + <scope>runtime</scope> |
| 100 | + </dependency> |
| 101 | + <dependency> |
| 102 | + <groupId>org.projectlombok</groupId> |
| 103 | + <artifactId>lombok</artifactId> |
| 104 | + <optional>true</optional> |
| 105 | + </dependency> |
| 106 | + <dependency> |
| 107 | + <groupId>org.springframework.boot</groupId> |
| 108 | + <artifactId>spring-boot-starter-test</artifactId> |
| 109 | + <scope>test</scope> |
| 110 | + </dependency> |
| 111 | +
|
| 112 | + <dependency> |
| 113 | + <groupId>org.springframework.boot</groupId> |
| 114 | + <artifactId>spring-boot-starter-validation</artifactId> |
| 115 | + </dependency> |
| 116 | + </dependencies> |
| 117 | + ``` |
| 118 | + |
| 119 | +## Penggunaan API |
| 120 | + |
| 121 | +Untuk penggunaan API, bisa dilihat pada folder docs. |
| 122 | + |
| 123 | + |
0 commit comments