Skip to content

A full stack application for managing a budget with Spring Boot and React for a group project for the course IDATA1002 - Software Engineering. The actual project was made using GitLab, and this repository contains the contents migrated from the GitLab repository.

Notifications You must be signed in to change notification settings

jorgenfinsveen/Full-Stack-Budget-Application-Project

Repository files navigation

Budgeting App


github actions ci badge

Group project for IDATT1002 Software Engineering spring 2023 at NTNU Ålesund.

Table of Contents
  1. Description
  2. Getting Started
  3. Demonstration
  4. Application Functionality
  5. License
  6. Contact

Description

Our project consists of developing a web application where users can manage their finances.

Back to Top

Frameworks and Tools

This project was created using the following:

  • Spring boot Java framework for back-end development
  • React JavaScript framework for front-end development
  • Loopia service provider for web- and database-hosting
  • Postman software for testing API implementations
  • Git for version control of source code
  • OpenStack cloud software for server deployment (provided by NTNU for the course IDATA2306)
  • Apache Maven software management tool for back-end management and comprehension

Back to Top

Getting Started

Prerequisites

Installation

  1. First step is to clone the repository, which can be done by executing the following command in the Terminal:

    git clone https://gitlab.stud.idi.ntnu.no/jorgenfinsveen/Budgeting-app.git

Back-end

  1. Open a new Terminal window in the sub-directory of the cloned repository named backend

  2. Package the Java application by executing the following command:

    mvn clean package
  3. Start the back-end application by executing the following command:

    mvn spring-boot:run
  4. The back-end application should now be running on localhost:8090

  5. When visiting the above URL in the web browser, the message "Error: Full authentication is required to access this resource" should appear

(0.) It is also possible to launch the back-end application by running the file named BudgetApplication.jar located inside the backend directory by running the following command in the Terminal:

java -jar BudgetApplication.jar

Front-end

  1. Open a new Terminal window in the sub-directory of the cloned repository named frontend

  2. Launch the front-end application by executing the following command:

    npm start
  3. The front-end application should now be running on localhost:3000

  4. When visiting the above URL in the web browser, the login-page for the application should appear.

  5. User may create a new account, or they can sign it with a pre-made account with the following credentials:

  • Username: user
  • Password: user

Back to Top

Demonstration

The application is deployed and can also be visited online. For further information regarding the deployment, please consult DEPLOYMENT.md.

  • Link to website: Budget Application Demo
  • Pre-made user:
    • Username: user
    • Password: user
  • Feel free to create new accounts as well (username must be unique)

Note: There is no guarantee that the website works to the same degree as when the project is running on localhost. There has been some problems regarding CORS security and HTTP to HTTPS request forwarding, which may prevent login attempts. These are problems related to the settings of the given browser, the extensions installed, and other configurations. We would recommend to visit the demo application using a browser without extensions, and on either NTNU's network or using NTNU's VPN.

Application Functionality

User

Account Management

  • Create a new account
  • Log in to an existing account

Analytics

  • See analytics of their own budget
  • Display budget transactions at given dates
  • Add, delete, or edit transactions
  • Modify the budget margins, start- and end-date

Overview

  • Overview of categories and trends

License

Distributed under NTNU. For educational purposes only

Back to Top

Contact

Jørgen Finsveen - jorgfi@stud.ntnu.no

Even Johan Pereira Haslerud - ejhasler@stud.ntnu.no

Håvard Hetland Vestbø - haavarhv@stud.ntnu.no

Petter Edvardsen - petteed@stud.ntnu.no

Ole Kristan Dvergsdal - olekd@stud.ntnu.no


Back to Top

About

A full stack application for managing a budget with Spring Boot and React for a group project for the course IDATA1002 - Software Engineering. The actual project was made using GitLab, and this repository contains the contents migrated from the GitLab repository.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published