Skip to content

Kewinsky/expense-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spendee | expenses_tracker

Spendee is an application, developed with Java, React, and MySQL, empowers users to effectively monitor and manage their financial activities. With a user-friendly interface, the application allows users to easily input and categorize their expenses, track spending trends, and generate insightful reports. By leveraging the power of Java, React, and MySQL, this application provides a reliable and efficient solution for maintaining a clear overview of personal or business expenses.

Features

The application includes the following features:

  • User authentication and authorization
  • CRUD operations (Create, Read, Update, Delete) for managing data
  • Server-side validation of user inputs
  • Database persistence using MySQL
  • RESTful API endpoints for communication between the front-end and back-end
  • Interactive user interface built with React

Technologies Used:

  • Java Spring Boot: A Java-based framework for building robust and scalable web applications.
  • React: A JavaScript library for building user interfaces.
  • MySQL: A relational database management system.
  • HTML/CSS: Used for structuring and styling the user interface.

Deployment

The application is deployed using the following AWS services:

  • Amazon RDS: The MySQL database is hosted on Amazon RDS for data storage.
  • Amazon EC2: The Java Spring Boot backend is deployed on an Amazon EC2 instance.
  • Amazon S3: The React frontend is hosted on an Amazon S3 bucket for static web hosting.

Prerequisites

To run the application locally, you need to have the following installed:

  • Java Development Kit (JDK) version 19 or higher
  • Node.js and npm (Node Package Manager)
  • MySQL Server

Installation

To install and run the application, follow these steps:

  1. Clone the repository to your local machine.
git clone https://github.com/your-username/your-repo.git
  1. Set up the database. Create a new MySQL database and note down the database name, username, and password.

Open the application.properties file in the Spring Boot project and update the following properties with your database credentials:

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password
  1. Insert test data using the sample from here

  2. Install the necessary dependencies.

  • Navigate to the backend project directory.
cd backend
  • Install the required dependencies using Maven.
mvn install
  • Navigate to the frontend project directory.
cd ../frontend
  • Install the required dependencies using npm.
npm install
  1. Build and run the application.
  • Build the Spring Boot application.
mvn clean install
  • Start the Spring Boot server.
mvn spring-boot:run
  • In a separate terminal, start the React development server.
npm start
  1. Access the application. Open your web browser and visit http://localhost:3000 to view and interact with the application.

  2. Create a new user or use admin with already inserted data.

  • Username: admin
  • Password: admin

Directory Structure

The repository is organized as follows:

  • backend: Contains the Java Spring Boot application.
  • frontend: Contains the React front-end application.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published