Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nirmaan

Nirmaan (Hindi for "Construction") is a comprehensive, cross-platform construction and site management application built with .NET 10 and Avalonia UI. It is designed to help site managers, contractors, and builders efficiently manage workers, track materials, and monitor project finances from a single, unified interface that runs on Desktop, Mobile, and Web.

🚀 Features

  • 👷 Worker Management:
    • Register and manage site workers.
    • Define and manage daily or hourly rates.
  • 📅 Attendance Tracking:
    • Record daily attendance for workers.
    • Automatically calculate salaries based on logged attendance and individual rates.
  • 🧱 Goods & Materials Management:
    • Track inventory of construction materials (Goods).
    • Manage suppliers and vendors (Sellers).
  • 💰 Payments & Billing:
    • Record payments made to workers (Salaries) and vendors.
    • Manage bills and overall site expenses.
  • 📊 Dashboard & Analytics:
    • Get a bird's-eye view of site operations.
    • Visual data representations and charts using ScottPlot.

🛠️ Technology Stack

📁 Project Structure

The project uses the new .slnx solution format and is organized into a clean, layered architecture:

  • Nirmaan.Core: Contains the core business logic, entity models (Worker, Goods, Payment, etc.), Entity Framework AppDbContext, and the Generic Repository & Service layers.
  • Nirmaan.Shared: Contains the cross-platform UI code. This includes all Avalonia XAML Views, ViewModels (MVVM), UI assets, styles (DaisyUI-inspired), and Dependency Injection setup.
  • Nirmaan.Platforms: Contains the platform-specific bootstrapper projects:
    • Nirmaan.Desktop (Windows, macOS, Linux)
    • Nirmaan.Android
    • Nirmaan.iOS
    • Nirmaan.Browser (WebAssembly)

🏁 Getting Started

Prerequisites

  • .NET 10 SDK or later.
  • An IDE that supports Avalonia UI (e.g., Visual Studio 2022, JetBrains Rider, or VS Code with the Avalonia extension).

Running the Application

To run the desktop application from the command line:

# Clone the repository
git clone <your-repo-url>
cd Nirmaan

# Run the Desktop project
dotnet run --project Nirmaan/Nirmaan.Platforms/Nirmaan.Desktop/Nirmaan.Desktop.csproj

Alternatively, you can use dotnet watch for hot-reloading during development:

dotnet watch --project Nirmaan/Nirmaan.Platforms/Nirmaan.Desktop/Nirmaan.Desktop.csproj

Database Management

The application uses a local SQLite database (nirmaan.db). Upon the first run, the database is automatically created, and EF Core migrations are applied. The database is also seeded with realistic placeholder data (using Bogus) to facilitate immediate testing and development.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages