Skip to content

The Final Project for the RMDT with GSG.

License

Notifications You must be signed in to change notification settings

LaraSamara/Walletify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Walletify

Overview

Walletify is a financial management web application built using ASP.NET Core. It allows users to track their savings, set financial goals, and manage transactions effectively. The application leverages the Model-View-Controller (MVC) pattern and integrates with Identity for user management and authentication.

Table of Contents

Features

  • User Management:

    • Registration, login, and secure authentication.
    • User profile management.
  • Expense Tracking:

    • Add, view, and categorize expenses.
    • Generate detailed expense reports.
  • User-Friendly Interface:

    • Intuitive design for seamless navigation.
    • Enhanced user experience with responsive layouts.
  • Flexible Codebase:

    • Implemented the Factory Design Pattern for better code flexibility and maintainability.
  • Advanced Functionality:

    • Integrated job scheduling for automating recurring tasks.
    • Third-party email messaging services for sending notifications and updates.

Project Structure

The project structure is organized as follows:

Walletify/
├── .vs/                  # Visual Studio configuration files
├── DB_Design/            # Database design documents
├── Walletify/            # Main application directory
│   ├── ApplicationDbContext/  # Entity Framework DB context
│   ├── Controllers/      # ASP.NET Core MVC controllers
│   ├── DependencyInjection/  # Custom dependency injection classes
│   ├── Migrations/       # Entity Framework migrations
│   ├── Models/           # Entity models for database
│   ├── Repositories/     # Data access layer
│   ├── ViewModel/        # View models for data binding in views
│   ├── Views/            # Razor views (UI)
│   └── wwwroot/          # Static files (CSS, JavaScript, Images)

Technologies Used

  • Framework: ASP.NET Core 8.0
  • Frontend: Razor Views, Bootstrap, jQuery
  • Database: Entity Framework Core with SQL Server
  • Authentication: ASP.NET Identity
  • Dependency Injection: Custom service registration for repositories
  • Version Control: Git

📹 Walletify Demo

Get started with EchoWrite by watching our introductory video:

Untitled.design.mp4

Installation

Prerequisites

Ensure you have the following installed:

Steps

  1. Clone the repository:

    git clone https://github.com/LaraSamara/Walletify.git
    cd walletify/Walletify
  2. Install dependencies:

    Run the following command to restore the required NuGet packages:

    dotnet restore

Database Setup

  1. Configure the connection string: Open appsettings.json in the Walletify project and update the connection string for your SQL Server instance:

    "ConnectionStrings": {
      "DefaultConnection": "Server=your_server;Database=WalletifyDB;Trusted_Connection=True;MultipleActiveResultSets=true"
    }
  2. Apply Migrations: Use the following command to apply the Entity Framework migrations and set up the database:

    add-migration nameOfMigrate
    update-database

Running the Application

  1. Build the project:

    dotnet build
  2. Run the application:

    dotnet run
  3. Open your browser and navigate to http://localhost:5000.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 71.8%
  • CSS 27.4%
  • Other 0.8%