Course project on discipline "Методология программной инженерии" in ITMO university. The server application for the contract system in the world "Goblin Slayer".
- dbDiagram (copy to https://dbdiagram.io/d)
- Server API (copy to https://editor.swagger.io/)
- Vision
- SRS
- UC
- SDP
- BC
- RL
- Gloss
- SAD
This section describes how to deploy a server.
- Download repository client application.
- Install PostgreSQL on your machine
- Create a database in PostgreSQL as
the_contract_system
- Go to
.\src\main\resources\application.properties
and set up your environment
server.port=<server port, for example 3464>
# Angular web client
spring.resources.static-locations=<path to Angular client (can be empty)>
# Database
spring.datasource.url=<Connection url to database like a jdbc:postgresql://localhost/the_contract_system>
spring.datasource.username=<database username>
spring.datasource.password=<database password>
spring.h2.console.enable=true
spring.jpa.hibernate.ddl-auto=validate
# Liquibase
spring.liquibase.enabled=true
spring.liquibase.change-log=classpath:db/changelog/db.changelog-master.xml
# JWT
jwt.token.secret=<secret key to generate jwt XxnIa43zAUuo1gXHzkM5>
## MULTIPART (MultipartProperties)
# Enable multipart uploads
spring.servlet.multipart.enabled=true
# Threshold after which files are written to disk.
spring.servlet.multipart.file-size-threshold=2KB
# Max file size.
spring.servlet.multipart.max-file-size=200MB
# Max Request Size
spring.servlet.multipart.max-request-size=215MB
# All files uploaded through the REST API will be stored in this directory
files.upload-dir=<path to files>
Static-location template for Windows:
spring.resources.static-locations=file:///C:/DATA/MyProject/BigProjects/GoblinSlayerRankSystem/Client/the-contract-system-web-client/dist/the-contract-system-web-client
Static-location template for Linux:
spring.resources.static-locations=file:/data/www/the-contact-system/client
- Run server from maven script or in IntelliJ
Deployment to a production environment is an automated process through Jenkins CI. Jenkins automatically deploys software to production server when merged into master. For changing pipeline see Jenkinsfile in source folder.
- MIT license
- Copyright 2020 © Paul Rozhkin.