Skip to content

Commit e211073

Browse files
committed
versi-1
0 parents  commit e211073

File tree

72 files changed

+6317
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+6317
-0
lines changed

.github/workflows/main.yml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Deploy to Server
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
workflow_dispatch:
8+
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: appleboy/ssh-action@master
15+
with:
16+
host: ${{secrets.HOST}}
17+
port: ${{secrets.PORT}}
18+
username: ${{secrets.USER}}
19+
password: ${{secrets.PASS}}
20+
script: |
21+
./../home/tanahku/build
22+
echo "Deployed to server"

.gitignore

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
HELP.md
2+
target/
3+
!.mvn/wrapper/maven-wrapper.jar
4+
!**/src/main/**/target/
5+
!**/src/test/**/target/
6+
7+
### STS ###
8+
.apt_generated
9+
.classpath
10+
.factorypath
11+
.project
12+
.settings
13+
.springBeans
14+
.sts4-cache
15+
16+
### IntelliJ IDEA ###
17+
.idea
18+
*.iws
19+
*.iml
20+
*.ipr
21+
22+
### NetBeans ###
23+
/nbproject/private/
24+
/nbbuild/
25+
/dist/
26+
/nbdist/
27+
/.nb-gradle/
28+
build/
29+
!**/src/main/**/build/
30+
!**/src/test/**/build/
31+
32+
### VS Code ###
33+
.vscode/

.mvn/wrapper/maven-wrapper.jar

61.1 KB
Binary file not shown.

.mvn/wrapper/maven-wrapper.properties

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip
2+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar

Dockerfile

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM khipu/openjdk17-alpine:latest AS build
2+
3+
LABEL org.opencontainers.image.authors="Ahmad Zulfadli"
4+
5+
# COPY .env.docker .env
6+
7+
COPY target/tanahku.jar tanahku.jar
8+
9+
EXPOSE 8888
10+
11+
ENTRYPOINT ["java","-jar","tanahku.jar"]

README.md

+123
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
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

Comments
 (0)