Ems App

Employee Management System App

Install Ems App

bench get-app https://github.com/MohamedAliSmk/EMS-App

Add the Frappe Gems badge to your README

Maintain Ems App? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=MohamedAliSmk%2FEMS-App)](https://frappegems.com/gems/apps/MohamedAliSmk/EMS-App)

About Ems App

# Employee Management System – Back End ## Project Description The **Employee Management System (EMS)** is a backend application designed to facilitate the management of companies, departments, employees, and projects. The system provides Create, Read, Update, and Delete (CRUD) functionality for each entity, alongside workflows for handling the onboarding process of employees and role-based access control (RBAC) for secure data handling. ### Key Features - **Comprehensive Management**: Handle Companies, Departments, Employees, and Projects effectively. - **Automatic Calculations**: Automate metrics like department count, employee count, and project assignments. - **Input Validation**: Validate email and mobile formats. - **Cascading Logic**: Manage dependencies between entities during updates or deletions. - **Secure Access Control**: Role-based access control (RBAC) for user permissions. - **Onboarding Workflows**: Customizable transitions for employee onboarding. - **Enterprise-Ready**: Scalable, secure, and adheres to real-world enterprise needs. --- ## Prerequisites for Installation To set up this system on your local machine using Docker, ensure the following prerequisites are met: ### 1. **Docker and Docker Compose** - Install Docker: [Docker Official Website](https://www.docker.com/) - Install Docker Compose (usually included with Docker Desktop). Verify installation with: ```bash docker --version docker-compose --version ``` ## 2. System Requirements ### Minimum Requirements: - **RAM**: 4GB - **CPU**: 2 cores - **Supported Operating Systems**: Windows, macOS, or Linux --- ## Installation Steps ### Step 1: Clone the Frappe Docker Repository ```bash git clone https://github.com/frappe/frappe_docker.git cd frappe_docker ``` ### Step 2: Run the Docker Setup Build and start the Docker containers: ```bash docker compose -f pwd.yml up -d ``` Wait for 5 minutes for ERPNext site to be created or check create-site container logs before opening browser on port 8080. (username: Administrator, password: admin) If you ran in a Dev Docker environment, to view container logs: docker compose -f pwd.yml logs -f create-site. Don't worry about some of the initial error messages, some services take a while to become ready, and then they go away. ### Step 3: Install the Custom App on Your Site Once the containers are running, follow these steps to install your custom app: Access the backend container: ```bash docker exec -it frappe_docker-backend-1 /bin/bash ``` Set Developer mode ```bash bench set-config -g developer_mode 1 ``` Get your custom app from the repository: ```bash bench get-app ems https://github.com/MohamedAliSmk/EMS-App.git ``` Install the app on your site: ```bash bench --site site-name install-app ems ``` Replace site-name with the name of your site. ## API Documentation Check the postman_collection.json file for all the available API endpoints. Create Employee
Description: Creates a new employee record.
Method: `POST`
Endpoint: `{{base_url}}/api/resource/EMS Employee`
Authorization:
Key: `Authorization`
Value: `token {{api_token}}:{{api_secret}}`
Request Body:
Content-Type: application/json
```json { "employee_name": "Mohamed Ali", "email_address": "mohamedali@gmail.com", "address": "123cairo", "designation": "software engineer", "ems_company": "Apple", "ems_department": "Development - AAP" } ``` Expected Response:
Status: 201 Created
Response Body:
```json { "data": { "name": "Mohamed Ali", "owner": "Administrator", "creation": "2024-11-27 20:08:06.441083", "modified": "2024-11-27 20:08:06.441083", "modified_by": "Administrator", "docstatus": 0, "idx": 0, "workflow_state": "Application Received", "employee_name": "Mohamed Ali", "email_address": "mohamedali@gmail.com", "address": "123cairo", "designation": "software engineer", "ems_company": "Apple", "ems_department": "Development - AAP", "number_of_assigned_projects": 0, "days_employed": 0, "doctype": "EMS Employee" } } ``` Thanks
Mohamed Ali

Related Developer Tools apps for Frappe & ERPNext

  • Frappe — Low code web framework for real world applications, in Python and Javascript
  • Frappe Docker — Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
  • Builder — Craft beautiful websites effortlessly with an intuitive visual builder and publish them instantly
  • Bench — CLI to manage Multi-tenant deployments for Frappe apps
  • Frappe Ui — A set of components and utilities for rapid UI development
  • Press — Full service cloud hosting for the Frappe stack - powers Frappe Cloud
  • Gameplan — Open Source Discussions Platform for Remote Teams
  • Doppio — A Frappe app (CLI) to magically setup single page applications and Vue/React powered desk pages on your custom Frappe apps.