Avazeh Accounting is a comprehensive desktop retail management application developed using C# .NET with Windows Presentation Foundation (WPF). This project demonstrates proficiency in software development, application architecture, and database management. I have already sold this software to some of local retail shop back in my country.
It was built to simplify financial management processes for small businesses and individuals, featuring an intuitive user interface, robust backend logic, and scalable architecture.
- Rich UI Design: Utilized WPF for a responsive and modern desktop interface.
- Backend Excellence: Developed with C#.NET following the MVVM design pattern.
- Database Integration: Ensured secure and efficient data management with Microsoft SQL Server and Dapper ORM.
- Customizability: Modular and extensible architecture, making it adaptable to additional requirements.
- Portfolio Project: A testament to advanced programming and problem-solving skills.
-
Comprehensive Accounting Tools:
- Manage income, expenses, and budget allocations.
- Track financial performance and cash flow.
-
Custom Reporting:
- Generate detailed financial reports by categories, dates, or types.
- Export reports in various formats for external analysis.
-
Secure Data Management:
- Built-in support for encrypted database connections.
- Data validation to ensure accuracy and reliability.
-
Scalable Design:
- Modular structure, enabling seamless addition of new features.
- Performance optimization through asynchronous programming and efficient queries.
- C#.NET: Backend logic and application development.
- WPF (Windows Presentation Foundation): UI/UX design for desktop applications.
- XAML: For building declarative UI components.
- MVVM Architecture: Implemented for clear separation of concerns.
- Microsoft SQL Server: Core database for managing user and financial data.
- Dapper ORM: Lightweight and efficient data access.
- SQL Query Optimization: Ensured high performance for large datasets.
- Visual Studio: Primary IDE for development.
- Git: Version control system for collaboration and management.
- Dependency Injection: For improved code maintainability and testability.
- Visual Studio 2019 or later
- Microsoft SQL Server 2017 or later
- .NET Framework 4.7.2 or higher
- .NET 6
-
Clone the Repository
git clone https://github.com/safaenet/AvazehAccounting.git cd AvazehAccounting
-
Switch to the OlderStyle Branch
git checkout OlderStyle
-
Database Setup
- Navigate to the
Database
folder for SQL scripts. - Execute the scripts on your SQL Server instance to create the schema and seed data.
- Navigate to the
-
Update Configuration
- Edit the
app.config
file to set your SQL Server connection string.
- Edit the
-
Build and Run
- Open the solution in Visual Studio.
- Build the project (
Ctrl+Shift+B
). - Run the application (
F5
).
I hope you don't mind that the language of the application is in Farsi (Persian)
-
Login: Use default credentials set up during the database initialization. If
login
as disabled, you need tosignup
first. -
Dashboard: Access different options of the app here.
-
Modules:
-
Create New Invoice: Create an invoice.
-
View Invoices: View already exsisting invoices.
-
Create New Ledger: Create a ledger for customers who continuously buy and pay.
-
View Ledgers: View all ledgers.
-
Bank Checks: Here we put checks that we paid other people and checks that people paid us. The app notifies us when the due date is close.
-
Products (Goods): List of all the products that are being sold shown by pagination. Products can be created/updated/deleted here.
-
Customers: List of all customers shown by pagination. Customers can be created/updated/deleted here.
-
-
Settings: Modify
settings
to suit specific needs. -
Print Invoice/Ledger
-
Model-View-ViewModel (MVVM):
- Ensures separation of logic (ViewModel) from UI (View).
- Promotes maintainability and testability.
-
Dapper ORM:
- Simplifies database operations with concise queries.
- Improves performance through direct SQL execution.
-
Asynchronous Programming:
- Enables smooth UI performance without blocking the main thread.
- Advanced C# programming techniques.
- Implementation of the MVVM architecture for enterprise applications.
- Integration of WPF with Microsoft SQL Server using ORM.
- Building secure and scalable desktop applications.
- Different Platforms: I have rebuilt this project in a full-stack form using
Java
for back-end andAngular
for its front-end. You can explore my public repositories to visit them.
Safa Dana is a results-driven software developer specializing in backend development, IoT, and scalable systems. This project reflects a strong foundation in .NET technologies and a commitment to delivering efficient software solutions.
- GitHub: safaenet
- LinkedIn: My Profile