The goal of the project is to create a complete payment system with all the basic functionality.
I deployed the application on the hosting.
Go to this address: https://payment-management-system.herokuapp.com/
Primary: MySQL 5.7, Java 8 (Core + Servlets + JDBC + JSP), JSTL, Maven 3, HTML CSS, JS, jQuery v3.4, Bootstrap v4.4.
Secondary: Apache Tomcat v9.0, Apache Commons Lang v2.6, Apache Log4j v1.2, JUnit v4.13, Mockito v1.10.
*For more information on dependencies and plugins, see the pom.xml file.
When implementing business logic algorithms, I used GoF patterns (Singleton, Builder, Factory Method, Command, Strategy), as well as MVC and DAO patterns.
For the correct launch and stable operation of the site (locally) you need to:
$ git clone https://github.com/SValentyn/Payment-Management-System.git$ mvn clean packagehttp://localhost:8080/If you know Docker, use these commands by running them from the root folder:
$ docker build -f Dockerfile -t pms-assembly .
$ docker run --name mysql57 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pppp -d mysql/mysql-server:5.7
$ docker run -d -p 8080:8080 pms-assembly
Or use this command by running it from the root folder:
$ docker-compose up --build -V
I advise you to use the first option with manual installation and configuration.
All options for using the system can be found in Use Case diagrams. Since there are two types of users in the system: Regular User (Client) and Administrator, the corresponding two Use Case diagrams were created. Their main difference from each other is that they have different privileges and specific capabilities.
Use Case diagram for Regular User (Client):
Use Case diagram for Administrator:
Patches are welcome and can be submitted by forking this project and submitting a pull request via GitHub.
Please see CONTRIBUTING.md for more details.
I hope my project will help you! Communication with me: https://t.me/vlnt_snk