Fintech is an academic project developed as part of the coursework for FIAP. The project aims to assist users in managing their personal finances effectively. By offering features such as dashboards, investment tracking, spending analysis, goal setting, and income management, the application provides a comprehensive solution for personal financial planning.
- Dashboard: Visualize financial data and trends through interactive charts and graphs.
- Investments: Track and manage your investment portfolio.
- Expenses: Record and analyze personal expenses.
- Goals: Set financial goals and monitor progress.
- Income: Manage and track all income sources.
- Programming Language: Java
- Web Technologies: JSP, Servlet
- Database: Oracle Database
- Frontend: HTML, CSS, Bootstrap
- Development Tools: IntelliJ IDEA, Apache Tomcat Server
To set up and run the project locally, follow these steps:
- Install Java JDK 11+.
- Install Oracle Database.
- Install Apache Tomcat.
- Install a Java IDE (e.g., Eclipse or IntelliJ IDEA).
-
Clone the repository:
git clone https://github.com/Diogobitten/fintech-java-app.git cd fintech-java-app -
Import the project into your Java IDE.
-
Configure the Oracle Database:
- Create the necessary tables using the provided SQL scripts (
/database/fintech_schema.sql). - Update database credentials in the
OracleXxxDao.javafiles located in thedaopackage.
- Create the necessary tables using the provided SQL scripts (
-
Deploy the project on Apache Tomcat:
- Export the project as a WAR file or configure it directly in your IDE with Tomcat.
-
Access the application in your browser:
http://localhost:8080/fintech
- Model Layer: Contains Java classes representing the core business logic and data models (e.g.,
Investimento,Gastos,Recebimento). - DAO Layer: Manages database operations for each module (e.g.,
InvestimentoDao,GastosDao). - Servlets: Handles HTTP requests and integrates the frontend with backend logic.
- Views: JSP files for user interaction (e.g.,
lista-inv.jsp,dashboard.jsp). - Static Resources: Includes CSS, JavaScript, and Bootstrap files for styling and interactivity.
- Dashboard:
- View overall financial summaries and visualized data.
- Investments:
- Add, edit, or delete investment records.
- Expenses:
- Log daily expenses and generate spending reports.
- Goals:
- Define goals (e.g., saving for a car) and track progress.
- Income:
- Input and manage various sources of income.
Homepage:
Investiment page:
Dashboard page:
This project was developed for the Fintech Project – 2nd Semester 2024 at FIAP. Its purpose is to demonstrate proficiency in building Java-based web applications with Oracle database integration.
- Diogo Bittencourt and Nathan – Frontend and Backend Development