sermore / glee-o-meter

An angular 7 data-centric application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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
...

This project was generated with Angular CLI version 7.0.6.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

About

An angular 7 data-centric application

License:GNU General Public License v3.0


Languages

Language:TypeScript 74.8%Language:HTML 19.4%Language:CSS 4.0%Language:JavaScript 1.8%