Springboot accounting backend
Developed an Account Service platform using REST API and Springboot Security to facilitate secure storage and management of payments for an accounting service.
The service operates over HTTPS Protocol with a self-signed certificate, ensuring secure communication for all endpoints. Users can also provide their own properly signed certificate for enhanced security.
The database, created in the root directory, securely stores user data with hashed passwords, user roles, and comprehensive event logging for auditing purposes.
The platform defines three roles - Admin, Accountant, and User - each with specific capabilities. Admins can manage roles, modify access, and lock/unlock accounts. Accountants can process payments, and Users can log in, register, and check received payments.
The registration process enforces email verification, password complexity, and valid name and last name requirements. The first registered user is automatically granted the Admin role, and subsequent users receive the User role, with Admins assigning the Accountant role.
Various endpoints cater to different user roles, enabling actions like modifying user access and roles, processing payments, and auditing server events. General endpoints allow users to retrieve payment information and change passwords.
HTTP requests, demonstrated using Postman, showcase the functionality of registering users, modifying access and roles, processing payments, and auditing server events.