Aplikasi terdiri dari beberapa bagian:
- Authorization Server : menangani login dan logout
- Resource Server : RESTful API
- Web Client : Aplikasi web dengan AngularJS
- Login
- Logout
- User Info
- Add ToDo list
- Remove ToDo list
- Set as completed
- Aplikasi Client dengan Android
- Dynamic Menu
-
Spring Boot
- Spring MVC
- Spring Data JPA
-
Spring OAuth 2
-
Flyway Database Migration
-
MySQL InnoDB
-
Rest-Assured
-
Apache Maven
- AngularJS
- Bootstrap
- Yeoman
-
Install MySQL Server
-
Login ke MySQL Server
mysql -u root -p
-
Buat user untuk mengakses database
grant all on stack2015.* to stack2015@localhost identified by 'stack2015';
-
Buat databasenya
create database stack2015;
-
Masuk ke folder authorization-server
cd authorization-server
-
Jalankan aplikasinya
mvn clean spring-boot:run
-
URL yang bisa diakses :
- Login : [http://localhost:10000/login]
- User Info : [http://localhost:10000/uaa/me]
- Public Key untuk verifikasi token JWT : [http://localhost:10000/uaa/oauth/token_key]
- Authorization Grant : [http://localhost:10000/uaa/oauth/authorize]
-
Masuk ke folder resource-server
cd resource-server
-
Jalankan aplikasi
mvn clean spring-boot:run
-
Masuk ke folder ui-web
cd ui-web
-
Jalankan aplikasi
grunt serve
-
Browse ke [http://localhost:10002/]
-
Klik Sign In, anda akan disuruh login di
authorization-server
-
Login dengan username berikut
- User Admin : endy/123
- User Staff : maya/456
-
Buka menu Halo. Menu ini bisa dijalankan oleh user dengan role
admin
, tapi tidak bisa dijalankan oleh userstaff
.
Modul ini dibungkus dengan aplikasi Spring Boot, sehingga bisa dideploy dengan mudah ke Heroku atau Openshift. Karena sama dengan aplikasi Spring Boot biasa, dia bisa juga dibundel menjadi *.war
.
Berikut cara menjalankannya menjadi aplikasi Spring Boot
-
Compile dulu seluruh file JavaScript, CSS, dan HTML menggunakan Yeoman
cd ui-web grunt
-
Grunt akan melakukan proses kompilasi, hasilnya diletakkan di folder
src/main/resources/static
-
Aplikasi Spring Boot bisa dijalankan dengan cara biasa
mvn clean spring-boot:run
-
Browse ke tempat yang sama, yaitu [http://localhost:10002]