Skip to content

iamtalib13/sahayog

Repository files navigation

Sahayog ERP

A comprehensive custom application for Frappe ERPNext, designed to enhance and streamline business operations.

Overview

Sahayog is a powerful extension for the Frappe framework, integrating several key business modules into a single, cohesive system. It provides functionalities for Human Resources, Sales and CRM, Procurement, Project Management, and more, tailored to specific business needs.

Core Modules

The application is composed of several modules:

  • Human Resource Management (HRMS)
  • Sales & CRM (SCRM)
  • Procurement
  • Project Management
  • Issue Register
  • Collections

Human Resource Management (HRMS)

This module extends the core HR functionalities of Frappe.

  • Manages employee lifecycle, including creation and user provisioning.
  • Custom logic for employee naming and status (Active/Inactive).
  • Handles department and branch-specific data.
  • Overrides for handling employee data updates.

Key HRMS DocTypes:

  • Employee: Central document for employee information.
  • Department: Organizational departments.
  • Branch: Different company branches.

Sales & CRM (SCRM)

Focuses on enhancing customer relationship management and sales processes.

  • Manages leads, opportunities, and customers.
  • Custom API for lead owner assignments.
  • Integration with Service Level Agreements (SLAs).
  • Automated contact creation from leads.

Key SCRM DocTypes:

  • Lead: Potential sales interest.
  • Opportunity: Qualified sales opportunity.
  • Customer: Company's customers.

Procurement

Streamlines the purchasing and inventory management processes.

  • Handles Supplier Quotation, Purchase Order, and Purchase Receipt.
  • Custom logic for item naming and warehouse management.
  • Asset management integration.

Key Procurement DocTypes:

  • Supplier Quotation: Quotes from suppliers.
  • Purchase Order: Orders placed with suppliers.
  • Item: Products and services.

Project Management

Provides tools for managing projects and tasks effectively.

  • Defines Project Templates for quick project setup.
  • Manages Tasks with dependencies and assignments.
  • Custom dashboards for project and task visibility (Project Dashboard, Task Dashboard).

Key Project DocTypes:

  • Project: The main project document.
  • Task: Individual tasks within a project.
  • Project Template: Reusable project structures.

Issue Register

A dedicated module for tracking and managing issues.

  • Allows users to report issues and track their resolution status.
  • Provides reports and dashboards for issue analysis.

Custom APIs & Logic

Sahayog includes a variety of custom scripts and APIs to automate and extend functionality:

  • User Provisioning: Automatically creates users from Employee documents.
  • Branch & Warehouse Linking: Logic to link branches with warehouses.
  • Shareholder Management: Events for handling shareholder and share transfer documents.
  • Custom Naming: Several overrides for document naming conventions (e.g., Employee, Item).

Installation

To install Sahayog, you need a Frappe Bench environment.

  1. Go to your bench directory:
    cd ~/frappe-bench
  2. Get the app from its repository (replace with actual repository URL):
    bench get-app https://github.com/your-org/sahayog
  3. Install the app on your site:
    bench --site your-site-name.localhost install-app sahayog
  4. Migrate the database:
    bench --site your-site-name.localhost migrate

Contribution

Contributions are welcome! Please follow the standard Frappe app development guidelines.

  1. Fork the repository.
  2. Create a new branch for your feature.
  3. Add your changes and commit them.
  4. Push to your branch and create a Pull Request.

License

This project is licensed under the MIT License. See the license.txt file for details.

Refinements

  • Minor style adjustments to the codebase.
  • Improved documentation clarity in code comments.
  • Refactored API endpoint for performance.
  • Added validation to a critical doctype.
  • Cleaned up unused variables.
  • Updated dependencies in package.json.
  • Formatted Python code with Black.
  • Formatted JS code with Prettier.
  • Added new fixture for testing.
  • Updated CI configuration.
  • Corrected a typo in a report.
  • Enhanced logging for a background job.
  • Optimized a database query.
  • Added a new custom field to a doctype.
  • Updated .gitignore to exclude log files.
  • Renamed a variable for better clarity.
  • Added error handling for an API call.
  • Updated a print format layout.
  • Fixed a permission issue for a role.
  • Added a new number card to a workspace.
  • Removed a deprecated function.
  • Updated a web form's client script.
  • Added a new dashboard chart.
  • Improved the user experience of a page.
  • Set a default value for a field.
  • Converted a script to use async/await.
  • Fixed a CSS alignment issue.
  • Added a new workflow state.
  • Updated translations.
  • Improved accessibility of a component.
  • Patched a minor security vulnerability.
  • Added a unit test for a utility function.
  • Updated the requirements.txt.
  • Reordered fields in a DocType for better flow.
  • Added a client script for dynamic filtering.
  • Corrected a calculation in a custom report.
  • Moved a hardcoded string to constants.
  • Added a new page for custom reports.
  • Updated an email template.
  • Improved responsiveness of the UI.
  • Added a hook for on_submit event.
  • Refined a workflow transition rule.
  • Added a missing index to a database table.
  • Updated a fixture to reflect new data model.
  • Removed a redundant API call.
  • Added a new custom permission rule.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors