Skip to content

gasymovrv/money-manager-back

Repository files navigation

Money-Manager (backend)

The main purpose of the application is to manage income, expenses and savings.

It is a stateless backend REST API with oAuth2 authorization.

User data stores in PostgreSQL database.

Core technologies:

  • Java 21
  • Spring Boot 3.2.2
  • PostgreSQL 16.1
  • Maven

Security

OAuth2 authentication through Google or VKontakte

Implemented by spring-boot-starter-oauth2-client but customized to remove sessions and make the application stateless RESTful API with JWT token

Schema:

See details in HttpCookieOauth2AuthorizationRequestRepository.java

Instructions

Build and run

  • Run PostgreSQL by docker-compose.yml
  • Change GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET and other credentials in .env (or as environment variables) to actual
  • Call mvn clean package at root of the project to build the application. -Drevision=1.0.0 can be added to change the version of the project
  • Built result (jar file) will be in 'target' directory at the root of the project
  • Call java -Duser.timezone=UTC -jar money-manager-<version>.jar to start the application

About

Backend part of the money-manager web application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published