Skip to content
This repository has been archived by the owner on Jun 24, 2021. It is now read-only.
/ gms Public archive

A boilerplate for a management system based on a Spring Boot application (server side) and Angular (client side)

License

Notifications You must be signed in to change notification settings

lealceldeiro/gms

Repository files navigation

GMS

License: MIT   Build Status   Coverage Status   JavaScript Style Guide   Java Style Checker

Table of Contents

Overview

The project consists of two main (independent) modules:

Ready for production

  • Packing as a WAR file with the API server only

    1. You need Java 8 in order to generate the WAR and a servlet container (such as Apache Tomcat) in order to deploy it.
    2. From the location server/ run gradle bootWar.
  • API + Angular Client

    1. You need to have Node.js 10.9.0 or later, together with an npm package manager.
    2. Consider modifying the configuration file with the proper values according to your environment:
      • client/src/assets/config/config.dev.json (when you're in development mode)
      • client/src/assets/config/config.prod.json (when you're in production mode)
    3. From the location server/ run gradle bootWar -Pclient=true.
    4. Optionally you can modify other behaviors for the client app while generating the WAR using the following commands:
    • client, use -Pclient=true for generating the client Angular app.
    • clientDoc, use -PclientDoc=true for generating the client app documentation.
    • clientDependencies, use -PclientDependencies=true for (re)installing all node dependencies before creating the WAR. Use this options if it is the first time you create the WAR file. Once the dependencies have been installed this can be safely skipped next time.
    • An example of build with the first two parameters enabled to true would be gradle bootWar -Pclient=true -PclientDoc=true.
  • This will create a WAR file inside server/build/libs ready to be deployed.

  • Database configuration

    1. Create a PostgreSQL database.
    2. Open the WAR file and set the proper connection parameters inside the file WEB-INF/classes/config/application-production.properties
    3. Save the file and update it inside the WAR file.
    4. Deploy the WAR file.

Note: If you don't have Gradle installed, you can use the command ./gradlew instead of gradle for the previous mentioned steps.

How to start developing

  1. Refer to How to start developing using IntelliJ IDEA
  2. Refer to How to start developing using Visual Studio Code
  3. Refer to How to start developing using IntelliJ IDEA Community and Visual Studio Code
  4. Refer to How to start developing using Eclipse