Expense Tracker is a web application designed to help users manage their personal finances by tracking income and expenses. This project utilizes ASP.NET Core MVC framework and follows best practices for maintainability and scalability.
- User Authentication: Secure user login and registration.
- Income & Expense Tracking: Add, edit, delete, and view income and expense transactions.
- Categorization: Categorize transactions for better organization.
- Dashboard: Visual representation of income and expense data.
- Reports: Generate financial reports based on user data.
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/KaziNizamul/Expense-Tracker.git
- Navigate to the project directory:
cd Expense-Tracker
- Install the necessary packages:
dotnet restore
- Update the database connection string in appsettings.json:
"ConnectionStrings": {
"DevConnection": "Server=db5479.databaseasp.net; Database=db5479; User Id=db5479; Password=2k@MC7a=-xG6; Encrypt=False; MultipleActiveResultSets=True;"
}
- Apply the migrations to create the database:
dotnet ef database update
- Run the application:
dotnet run
The project is structured as follows:
-
Controllers: Contains the controllers that handle HTTP requests and responses.
- HomeController.cs: Manages the homepage and general views.
- AccountController.cs: Handles user authentication.
- TransactionController.cs: Manages CRUD operations for transactions.
-
Models: Contains the data models used in the application.
- ApplicationUser.cs: Represents a user in the application.
- Transaction.cs: Represents a financial transaction.
-
Views: Contains the Razor views for rendering the user interface.
- Home: Views related to the homepage.
- Account: Views for user authentication.
- Transaction: Views for managing transactions.
-
Data: Contains the database context and migrations.
- ApplicationDbContext.cs: The database context for Entity Framework Core.
- Migrations: Contains the database migrations.
-
wwwroot: Contains static files such as CSS, JavaScript, and images.