An application to manage a gym in a student hostel.
- Account handling (Registration, Profile management)
- Article reading, editing
- Tool reservation
- Subscribe to training
- Automatic and manual email-sending
- Subcribe to automatic email notifications
- Building BE and FE together
- Authentication mechanism on BE and FE as well (JWT token)
- Automatic exception-handling and user notification on FE
- SMTP and Email sending configuration and implementation
- Liquibase and database configuration (MySQL)
- Internationalization
- Automatic notification email-sending
- Rich text editor integration (CKEditor5) for Articles
- Tool CRUD, reservation logic
- Email templating
-
Download and install NodeJS and set node.home property in pom.xml to the folder where your NodeJS is installed.
-
Navigate to /src/main/angular folder inside the project
-
To start JSON server, run command the following command:
npm run mock-server
-
To start the application, run command the following command:
npm start
Application can be accessed on https://localhost:4200/
-
Download and install NodeJS and set node.home property in pom.xml to the folder where your NodeJS is installed.
-
Download and install MySQL Server 8.0
Run MySQL 8.0 Command Line Client, enter password, then run command:
create database gym;
Set database connection properties in resources/application.properties:
- database.url
- database.username
- database.password
-
Provide valid configuration properties in configuration/public folder
- SMTP configuration (if you configure your Gmail account as I did, turn ON this switch: https://myaccount.google.com/lesssecureapps)
- Setting upload directories
-
Download and install Tomcat Server 8
Create new Tomcat configuration in IDEA
-
Configure Run Maven Goal clean install
-
Configure Build exploded artifact
-
Set context-path to /Martos-Gym
-
Set appconf.dir environment variable in CATALINA_OPTS to set configuration/public folder
-Dappconf.dir=/absolute/path/to/configuration/folder
-
-
Run Tomcat
-
Test the application with users:
Admin account credentials:
Email: [email protected]
Password: 12345
User account credentials:
Email: [email protected]
Password: 12345