Skip to content

πŸ”§ The Computerized Maintenance Management System (CMMS) is a comprehensive web-based software for managing maintenance and repair operations.

Notifications You must be signed in to change notification settings

pourya-azad/Cmms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Computerized Maintenance Management System (CMMS)

πŸ“‹ Project Overview

The Computerized Maintenance Management System (CMMS) is a web-based software designed for efficient management of maintenance and repair operations. Utilizing modern technologies, this system enables asset management, work order handling, reporting, and monitoring of maintenance workflows.

✨ Key Features

πŸ‘¨β€πŸ’Ό Manager Panel

  • Asset Management: Register, edit, and delete equipment and machinery

  • Work Order Management: Create and track work orders

  • Reporting: Generate various performance reports

  • Manager Dashboard: Display key statistics and information

πŸ‘¨β€πŸ”§ Engineer Panel

  • Work Order View: View and manage assigned tasks

  • Checklists: Execute repair steps following checklists

  • Work History: Review past job records

  • Engineer Dashboard: Display personal tasks and statistics

πŸ” Authentication System

  • Login & Registration: Secure authentication system

  • Role Management: Access control based on user roles

  • Security: JWT-based authentication

πŸ› οΈ Technologies Used

Backend

  • ASP.NET MVC 5.2.9: Main framework

  • .NET Framework 4.8: Development platform

  • Entity Framework 6.5.1: ORM for database interactions

  • AutoMapper 10.1.1: Object mapping

  • Unity 5.11.10: Dependency injection

Frontend

  • Bootstrap 5.2.3: CSS framework

  • jQuery 3.7.0: JavaScript library

  • Font Awesome: Icons

  • Leaflet.js: Interactive maps

Database

  • SQL Server: Database management system

  • Stored Procedures: For optimized performance

Additional Tools

  • PersianDate 3.5.5: Persian calendar support

  • Newtonsoft.Json 13.0.3: JSON processing

  • Microsoft.Identity: Authentication and authorization

πŸ“¦ Prerequisites

Required Software

  • Visual Studio 2019/2022 or Visual Studio Code

  • SQL Server 2016 or newer

  • SQL Server Management Studio (SSMS)

  • .NET Framework 4.8

Required Services

  • IIS Express or IIS

  • SQL Server Browser Service

πŸš€ Project Setup

1. Clone the Repository

git clone https://github.com/pouria-azad/Cmms.git
cd CMMS

2. Configure Database

  1. Install and start SQL Server

  2. Open SQL Server Management Studio

3. Create Database

Use the SQL file:
Run SQLScript/file.sql in SSMS or via command line:

sqlcmd -S . -i SQLScript/file.sql

4. Configure Connection String

Edit the Web.config file and update your connection string:

<connectionStrings>
  <add name="CmmsEntities" 
       connectionString="metadata=res://*/Cmms.csdl|res://*/Cmms.ssdl|res://*/Cmms.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=YOUR_SERVER_NAME;initial catalog=Cmms;integrated security=True;encrypt=False;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
       providerName="System.Data.EntityClient" />
</connectionStrings>

Important notes:

  • Replace YOUR_SERVER_NAME with your SQL Server instance name

  • For SQL Server Express: .\SQLEXPRESS

  • For LocalDB: (LocalDB)\MSSQLLocalDB

5. Run the Project

  1. Open the solution in Visual Studio

  2. Restore NuGet packages

  3. Build the project

  4. Press F5 to run

6. (Optional) Auto Database Setup

If a PowerShell script is provided:

.\setup_database.ps1

πŸ“ Project Structure

CMMS/
β”œβ”€β”€ Areas/                    # Different system areas
β”‚   β”œβ”€β”€ Engineer/             # Engineer panel
β”‚   β”‚   β”œβ”€β”€ Controllers/      # Engineer controllers
β”‚   β”‚   β”œβ”€β”€ Views/            # Engineer views
β”‚   β”‚   └── Data/             # Engineer data
β”‚   └── Manager/              # Manager panel
β”‚       β”œβ”€β”€ Controllers/      # Manager controllers
β”‚       β”œβ”€β”€ Views/            # Manager views
β”‚       β”œβ”€β”€ Service/          # Manager services
β”‚       └── ViewModels/       # View models
β”œβ”€β”€ Content/                  # Static files
β”‚   β”œβ”€β”€ css/                  # CSS files
β”‚   β”œβ”€β”€ js/                   # JavaScript files
β”‚   └── Img/                  # Images
β”œβ”€β”€ Controllers/              # Main controllers
β”œβ”€β”€ Database/                 # Database scripts
β”œβ”€β”€ SQLScript/
β”‚   └── file.sql              # Database creation script
β”œβ”€β”€ Models/                   # Data models
β”œβ”€β”€ Views/                    # Main views
└── Web.config                # Application settings

πŸ”§ Additional Configuration

Authentication Setup

Edit authentication-related files under the Areas folder.

Role Management

User roles are defined in RoleAuthorizeAttribute.cs.

AutoMapper Configuration

Mapping profiles are in Areas/Manager/ViewModels/MappingProfile.cs.

πŸ“Š Advanced Features

Reporting

  • Overall system performance reports

  • Work order reports

  • Asset reports

  • Time-based reports

File Management

  • Upload files related to work orders

  • Manage asset images

  • Secure file storage

Interactive Maps

  • Display asset locations

  • Interactive maps using Leaflet.js

πŸ› Troubleshooting

Common Issues

Database Connection Error

  1. Check SQL Server status

  2. Verify Connection String

  3. Check user permissions

"Named Pipes Provider" Error

  • Enable SQL Server Browser

  • Verify port 1433 is open

"Login Failed" Error

  • Check username and password

  • Verify database access for the user

Logs

System logs are saved in the App_Data folder.

πŸ“ž Support

For support contact:

πŸ“„ License

This project is licensed under [License Type].

🀝 Contributing

To contribute:

  1. Fork the repository

  2. Create a new branch

  3. Make your changes

  4. Submit a Pull Request

About

πŸ”§ The Computerized Maintenance Management System (CMMS) is a comprehensive web-based software for managing maintenance and repair operations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published