Skip to content

Commit 2465a37

Browse files
committed
Commit
1 parent 105ace7 commit 2465a37

1 file changed

Lines changed: 97 additions & 104 deletions

File tree

README.md

Lines changed: 97 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -1,140 +1,133 @@
1-
# Company Management System.
2-
![](https://komarev.com/ghpvc/?username=mscbuild)
3-
![](https://img.shields.io/github/license/mscbuild/e-learning)
4-
![](https://img.shields.io/github/repo-size/mscbuild/e-learning)
5-
![](https://img.shields.io/badge/PRs-Welcome-green)
6-
![](https://img.shields.io/badge/code%20style-js/vue-green)
7-
![](https://img.shields.io/github/stars/mscbuild)
8-
![](https://img.shields.io/badge/Topic-Github-lighred)
9-
![](https://img.shields.io/website?url=https%3A%2F%2Fgithub.com%2Fmscbuild)
10-
11-
12-
A simple Company Management System built with Express.js and MongoDB. This system allows for basic functionalities like user authentication, employee management, and more. It provides an API for managing employees and authenticating users.
13-
14-
# Project Structure
15-
```ruby
16-
company-management-system/
17-
18-
├── config/
19-
│ └── db.js # MongoDB connection configuration
20-
├── controllers/ # API logic for different routes
21-
│ └── employeeController.js
22-
├── models/ # Mongoose models for database
23-
│ └── Employee.js
24-
│ └── User.js # User model for authentication
25-
├── routes/ # Route definitions
26-
│ └── employeeRoutes.js
27-
│ └── authRoutes.js # Authentication routes (login/signup)
28-
├── .env # Environment variables
29-
├── server.js # Main Express server file
30-
└── package.json
31-
```
1+
# Company Management System (CHMS) with Express.js 🚀
322

33-
# Features
3+
![GitHub release](https://img.shields.io/github/release/datdat092/CHMS_expressJS.svg)
344

35-
<li>User Authentication: Register and log in using JWT authentication.
5+
Welcome to the **Company Management System (CHMS)** repository! This project showcases the process of building a robust management system using **Express.js**. Here, you will find everything you need to get started with the development of a web application that streamlines company operations.
366

37-
<li>Employee Management: Create, read, update, and delete employee records.
7+
## Table of Contents
388

39-
<li>Task Management: (Optional, can be added later)
9+
- [Introduction](#introduction)
10+
- [Features](#features)
11+
- [Technologies Used](#technologies-used)
12+
- [Installation](#installation)
13+
- [Usage](#usage)
14+
- [Project Structure](#project-structure)
15+
- [Contributing](#contributing)
16+
- [License](#license)
17+
- [Contact](#contact)
4018

41-
<li>Department Management: Organize employees by departments.
19+
## Introduction
4220

43-
<li>Leave & Attendance: (Optional, can be added later)
21+
The goal of this project is to create a **Company Management System** that allows users to manage various aspects of a company efficiently. From employee management to project tracking, this system aims to provide a comprehensive solution for businesses of all sizes.
4422

45-
<li>Payroll Management: (Optional, can be added later)
23+
For the latest updates and downloadable versions, visit our [Releases section](https://github.com/datdat092/CHMS_expressJS/releases).
4624

47-
# Tech Stack.
25+
## Features
4826

49-
<li>Backend: Node.js with Express.j s
27+
- **User Authentication**: Secure login and registration system.
28+
- **Employee Management**: Add, edit, and delete employee records.
29+
- **Project Tracking**: Monitor project progress and deadlines.
30+
- **Dashboard**: Visual representation of key metrics and statistics.
31+
- **Role-Based Access**: Different access levels for admins and users.
32+
- **Responsive Design**: Works seamlessly on various devices.
5033

51-
<li>Database: MongoDB
34+
## Technologies Used
5235

53-
<li>Authentication: JSON Web Tokens (JWT)
36+
This project leverages a variety of technologies to ensure a smooth and efficient development process:
5437

55-
<li>Password Hashing: Bcrypt.js
38+
- **Node.js**: JavaScript runtime for server-side programming.
39+
- **Express.js**: Web application framework for Node.js.
40+
- **MongoDB**: NoSQL database for data storage.
41+
- **React**: Front-end library for building user interfaces.
42+
- **Vue.js**: Progressive JavaScript framework for UI development.
43+
- **JavaScript**: Core programming language for the project.
5644

57-
<li>Environment Variables: dotenv
45+
## Installation
5846

59-
<li>Development Tools: Nodemon for automatic server reload
47+
To get started with the project, follow these steps:
6048

61-
# Prerequisites.
49+
1. **Clone the repository**:
6250

63-
## Installation.
51+
```bash
52+
git clone https://github.com/datdat092/CHMS_expressJS.git
53+
cd CHMS_expressJS
54+
```
6455

65-
1. Clone the repository:
66-
```ruby
67-
git clone https://github.com/mscbuild/CHMS_expressJS.git cd CHMS_expressJS
68-
```
69-
2. Install dependencies:
56+
2. **Install dependencies**:
7057

71-
Run the following command to install the necessary dependencies:
58+
Run the following command to install all necessary packages:
7259

73-
```ruby
74-
npm install
75-
```
76-
3. Set up environment variables:
60+
```bash
61+
npm install
62+
```
7763

78-
Create a `.env` file in the root directory and define the following environment variables:
64+
3. **Set up the database**:
7965

80-
```ruby
81-
MONGO_URI=mongodb://localhost:27017/companyDB
82-
JWT_SECRET=your_jwt_secret_key
83-
PORT=5000
84-
```
85-
`MONGO_URI`: Your MongoDB connection string. If you're using MongoDB Atlas, use the connection string provided by Atlas.
66+
Make sure you have MongoDB installed and running. Create a database named `chms`.
8667

87-
`JWT_SECRET`: A secret key for JWT encoding.
68+
4. **Run the application**:
8869

89-
`PORT`: The port the application will run on (default is 5000).
70+
Use the following command to start the server:
9071

91-
# Running the Application
72+
```bash
73+
npm start
74+
```
9275

93-
To start the development server, use:
76+
5. **Access the application**:
9477

95-
```ruby
96-
npx nodemon server.js
97-
```
98-
The server will run at `http://localhost:5000` by default.
78+
Open your web browser and navigate to `http://localhost:3000`.
79+
80+
## Usage
81+
82+
Once the application is running, you can access various features through the dashboard.
83+
84+
1. **Log in**: Use your credentials to log in.
85+
2. **Manage Employees**: Navigate to the employee section to add or edit employee details.
86+
3. **Track Projects**: Go to the project section to monitor ongoing projects.
87+
4. **View Metrics**: Check the dashboard for key performance indicators.
9988

100-
# API Endpoints.
89+
For the latest downloadable versions, check the [Releases section](https://github.com/datdat092/CHMS_expressJS/releases).
10190

102-
## Authentication Routes.
91+
## Project Structure
10392

104-
<li>POST /api/auth/register: Register a new user.
93+
Here's a brief overview of the project structure:
10594

106-
<li>Request body:
107-
```ruby
108-
{
109-
"username": "user1",
110-
"password": "password123"
111-
}
11295
```
113-
<li></li>POST /api/auth/login: Login with existing credentials.
114-
115-
<li>Request body:
116-
```ruby
117-
{
118-
"username": "user1",
119-
"password": "password123"
120-
}
96+
CHMS_expressJS/
97+
├── client/ # Frontend code
98+
│ ├── src/
99+
│ ├── public/
100+
│ └── package.json
101+
├── server/ # Backend code
102+
│ ├── models/
103+
│ ├── routes/
104+
│ ├── controllers/
105+
│ └── package.json
106+
└── README.md
121107
```
122-
# Employee Management Routes.
123108

124-
<li>POST /api/employees: Create a new employee.
109+
- **client/**: Contains all the frontend code, built using React or Vue.js.
110+
- **server/**: Contains backend code, including models, routes, and controllers.
125111

126-
<li>Request body:
112+
## Contributing
127113

128-
```ruby
129-
{
130-
"name": "John Doe",
131-
"role": "Software Engineer",
132-
"department": "Engineering",
133-
"contact": "john.doe@example.com",
134-
"salary": 70000
135-
}
136-
```
137-
<li>GET /api/employees: Get all employees.
114+
We welcome contributions to enhance the functionality and performance of the project. If you wish to contribute, please follow these steps:
115+
116+
1. Fork the repository.
117+
2. Create a new branch for your feature or bug fix.
118+
3. Make your changes and commit them.
119+
4. Push your branch and create a pull request.
120+
121+
## License
122+
123+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
124+
125+
## Contact
126+
127+
For any inquiries or suggestions, feel free to reach out:
128+
129+
- **Author**: Your Name
130+
- **Email**: your.email@example.com
131+
- **GitHub**: [Your GitHub Profile](https://github.com/yourusername)
138132

139-
# Development
140-
<li>If you'd like to contribute or develop new features, follow these steps:</li>
133+
Thank you for checking out the **Company Management System (CHMS)** repository! We hope you find it useful for your development needs. For the latest updates, visit our [Releases section](https://github.com/datdat092/CHMS_expressJS/releases).

0 commit comments

Comments
 (0)