Awesome
sekolah
MYSCHOOL adalah source code opensource yang dibangun mengunakan Spring Boot 3.3.1 version yang terinspirasi dari MSCHOOL yang dibangun menggunakan Codeigniter 3.1.9 dan Bootstrap 4.0.
MYSCHOOL merupakan pengembangan dari project M-Sekolah. Dengan kata lain, MSCHOOL adalah versi 2.0 dari M-Sekolah dengan Java Spring Boot.
MYSCHOOL merupakan project open source untuk website profile sekolah SD, MI, SMP MTs, MA ataupun SMA dan sederajat untuk menunjang transparasi informasi dan promosi sekolah.
Backend dari Source Code ini dibangun menggunakan template AdminLTE, yaitu template yang sangat umum bagi developer web saat ini.
Selain itu, source code ini juga menggunakan Toast Message untuk menampilkan pesan pada bagian Backend.
Hal itulah yang membuat source code ini menjadi sangat menarik.
Source Code ini berjalan dengan baik di PaaS (Platform as as Service) seperti Heroku ataupun d VPS (Virtual Private Server) seperti Digital Ocean (DO). Tinggal upload dan sedikit konfigurasi, semuanya bejalan dengan baik.
Bagaimana mengonline-kannya?
-
Order Domain dan Hosting
-
Upload Source Code myschool ke hosting
-
Buat database di hosting (di sini saya menggunakan PostgreSQL)
Jika Anda mengalami kesulitan saat mengonlinekannya, Anda dapat meminta bantuan pihak hosting untuk membantu Anda mengonlinekannya.
Modul dan Fitur:
-
Dashboard (Unique Visitors Counter)
-
Manajemen artikel
-
Manajemen data siswa/santri
-
Manajemen data guru/asatidz
-
Manajemen data user
-
Manajemen agenda kegiatan
-
Manajemen pengumuman
-
Manajemen file materi pembelajaran
-
Manajemen data guru
-
Manajemen gallery photo
-
Manajemen pesan masuk (inbox)
-
Manajemen komentar
-
Sosial media share artikel
-
Nested Comments
-
SEO URL Friendly
Cara Membuat Database
- Create user untuk connect ke database
createuser -P adminSekolah
- Create database untuk user tersebut
createdb -OadminSekolah sekolah
Cara install uuid-ossp module, anda harus CREATE EXTENSION statement seperti berikut ini:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
- Konfigurasi database
spring.datasource.url=jdbc:postgresql://localhost:5432/sekolah
spring.datasource.username=adminSekolah
spring.datasource.password=passwordSekolah
Cara menjalankan Postgres Database via Docker
docker run --rm \
--name=sekolah \
-e POSTGRES_DB=sekolah \
-e POSTGRES_USER=adminSekolah \
-e POSTGRES_PASSWORD=passwordSekolah \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v "$PWD/sekolah-data:/var/lib/postgresql/data" \
-p 5432:5432 \
postgres:15
Cara konek ke Postgres Database via Docker
psql -h localhost -p 5432 -U adminSekolah -W sekolah
docker exec -it sekolah psql -U adminSekolah -W sekolah
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
Cara menjalankan aplikasi
Ada 2 opsi untuk menjalankan aplikasi ini, via Docker atau via Docker-compose
Menjalankan aplikasi via Docker
Di sini saya berasumsi bahawa JDK8, maven & PostgreSQL Database sudah terinstal di lokal anda masing-masing.
- Untuk menjalankan aplikasinya cukup ketik perintah di bawah ini d terminal:
mvn clean spring-boot:run
- Untuk membungkusnya menjadi paket jar anda bisa menggunakan perintah berikut ini:
mvn clean package
- Untuk menjalankan jar dari paket tsb bisa dengan perintah berikut ini:
java -jar sekolah.jar
Aplikasi bisa dilihat di Heroku: https://sekolah1.herokuapp.com/ adminnya di https://sekolah1.herokuapp.com/admin
Menjalankan aplikasi via Docker-Compose
Build image untuk menjalankan container
docker-compose -f <docker compose file.yml> build
jalankan container dari image yang telah dibuat
docker-compose -f <docker compose file.yml> up
setiap kali ada perubahan pada konfigurasi file di aplikasi seperti
from
spring.datasource.url=jdbc:postgresql://localhost:5432/sekolah
to
spring.datasource.url=jdbc:postgresql://db:5432/sekolah
perlu untuk melakukan build ulang
docker-compose -f <docker compose file.yml> build [service_app_defined_on_docker_compose_file: ex: app or db]
Cara konek ke Postgres Database monitor (PgAdmin) via Docker
Jika kamu menjalankan aplikasi via Docker Compose, maka kamu bisa ikuti langkah ini untuk dapat melakukan monitor data pada database dengan PgAdmin via browser
http://localhost:3000/
login dengan email dan password yg telah ditetapkan do file docker-compose-dev/yml
PGADMIN_DEFAULT_EMAIL: sekolah@mail.com
PGADMIN_DEFAULT_PASSWORD: sekolah_password
kemudian pada Quick Links pilih Add New Server. Pada tab General isikan Name dengan service name yang telah di tetapkan di docker-compose file (ex. db). Pindah ke tab Connection isikan Host name / address dengan IP internal docker untuk service DB
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container name of service, ex. sekolah_db>
kolom Username & Password isikan dengan yang telah ditetapkan di docker-compose file
POSTGRES_USER=sekolah
POSTGRES_PASSWORD=sekolah_password
selesai dan Save, selanjutnya akan muncul database yang telah terkoneksi
Contributing
Please see CONTRIBUTING for details.
Listed by Hendi Santika
- Email: hendisantika@gmail.com / hendisantika@yahoo.co.id
- Telegram: @hendisantika34
- Linktree: https://linktr.ee/hendisantika
License
To the extent possible under law, Hendi Santika has waived all copyright and related or neighboring rights to this work.