Giter Club home page Giter Club logo

tbmelabs-authorization-server's Introduction

TBME Labs Authorization Server

OAuth2 authorization server allowing users to authenticate across multiple applications.

Build Status Quality Gate Codacy Badge Docker Pulls

Prerequisites

Make sure to install the following software before starting:

  • Maven - A software project management and comprehension tool.
  • Spring - The source for modern java.
  • PostgreSQL - The World's Most Advanced open source relational database.
  • NodeJS and npm - A JavaScript runtime built on Chrome's V8 JavaScript engine.

And your IDE should support Lombok.

Installing

PostgreSQL

Before executing the application you must prepare the database. There are several scripts located in src/main/resources/db/scripts. For instance test_database.sql is required to setup the integration test database. If you do not have a local redis cluster you might want to use a PostgreSQL token store. To prepare the database use the script jdbc_token_store.sql.

Yarn + Frontend

We use Yarn for all frontend belongings. You must install the frontend at least once before starting up the server. Otherwise it wont find the files required to server-side-render Angular. To do so either navigate into src/main/webapp and run yarn install && yarn build:dev or run mvn clean package -Pwebpack in the root directory.

Running the tests

Frontend

The frontend project is located in src/main/webapp. Please use Yarn for all installation/testing etc. You can install yarn with npm, npm install -g yarn or via maven, executing mvn package -Pwebpack. Navigate into the folder and take a look at the file package.json which contains a script section. It may give you an idea about the different use cases.

Backend

Execute unit-tests by running mvn test. They are managed by the maven-surefire-plugin. Integration-tests start with mvn verify using the maven-failsafe-plugin.

Deployment

This project is deployed using maven. Run mvn clean install to install the artifact into your local repository.

Built With

  • Maven - A software project management and comprehension tool.
  • Yarn - Fast, reliable, and secure dependency management.
  • Sprint - The source for modern java.
  • Angular - Clientside JavaScript web framework.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Timon Borter - Initial work - bbortt

See also the list of contributors who participated in this project.

Hat Tips

  • To swaechter for the basic idea on server-side-rendering Angular in AngularUniversalRenderEngine.java. Original code is in this repository.

License

This project is published under the terms of MIT License. For more information see the license file.

tbmelabs-authorization-server's People

Contributors

bbortt avatar mirioeggmann avatar

Watchers

James Cloos avatar  avatar

Forkers

codacy-badger

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.