Skip to content
Spring REST server for glee-o-meter
Branch: master
Clone or download
Latest commit 08613d4 Jan 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mvn/wrapper initial commit Dec 9, 2018
src configuration improved and simplified. Jan 10, 2019
.gitignore initial commit Dec 9, 2018
LICENSE Initial commit Dec 9, 2018
README.md added README Jan 17, 2019
mvnw initial commit Dec 9, 2018
mvnw.cmd initial commit Dec 9, 2018
pom.xml renamed to spring-glee-o-meter Dec 9, 2018

README.md

Glee-O-Meter

Glee-o-meter is a simple Angular 7 application focused on the interaction with a Spring REST server.

The data-centric application offers a basic user-management section, with the possibility to sign-in new users. Each user can manage a list of glee-levels, each one associated to a date, time and a comment. There are three different roles:

  • Admin: has full permissions on the whole data
  • User manager: has permissions on user data
  • User: has full permissions on owned glee data.

The application has the following features:

  • data access with pagination, sorting, ordering and filtering;
  • CRUD operations on whole data;
  • sign-in to permit the registration of new users;
  • authentication based on oauth2 JWT, with token refresh;
  • consumes REST resources /api/glee, /api/users and /api/signin

The server side is implemented with Spring boot, slightly customized to run on Google App Engine. Server implementation features the following:

  • oauth2 JWT authentication with spring-boot, using grant types password and refresh token;
  • publish 2 authenticated REST resources /api/glee, /api/users and one public /api/signin for user registration;
  • method-level authorization based on @PreAuthorize and @PostAuthorize;
  • data access based on logged user's permissions;
  • Spring based JSR-349 data validation;
  • CORS configuration for running separated local server and client development environments;

A running version is deployed on Google App-Engine cloud.

Available users are:

User email Password Role
admin@admin.com pwd Admin
userman@userman.com pwd User manager
user1@user1.com pwd User
user2@user2.com pwd User
...
You can’t perform that action at this time.