Tech Stack Used: Node.js, React.js, MySQL, Express.js, Express Handlebars, Bootstrap CSS, JavaScript, Multer, jszip, Winston
This project is a secure and efficient suite for managing a Workforce Fraternity within a Startup-Grade Organization, Featuring:
- Secure User Authentication: Implementing KeyCloak for secure user access control.
- Streamlined Registration: Simplifying user onboarding through an admin dashboard.
- MySQL Integration: Efficient data storage and management.
- Bulk User Import: Admins can easily import users from ZIP folders with YAML files.
- Secure File Handling: Safeguarding user data during ZIP extraction, YAML parsing, and database updates.
- Enhanced Auditability: Improved event logging with Winston for system tracking and debugging.
To begin using our Medium Enterprise-Grade Workforce Management Suite, follow these steps to clone the repository to your local environment:
-
Open a command prompt or terminal window.
-
Navigate to the directory where you want to clone the repository using the
cd
command. -
Clone the repository by running the following command:
git clone <repository_url>
Replace
<repository_url>
with the actual URL of the repository.
To configure the application, you'll need to edit the .env
file to store your database credentials. Follow these instructions:
-
Open the
.env
file located in the root directory of the cloned repository. -
Update the following database settings according to your MySQL server configuration:
DB_HOST
: Set it to either "127.0.0.1" or "localhost" depending on your MySQL server configuration.DB_USER
: Enter your MySQL client's username.DB_PASS
: Enter your MySQL client's password.DB_NAME
: Specify the name of your database.
In order to set up the database for the application, follow these steps:
-
In the cloned repository folder, locate the MySQL dump file named "UserSchema.sql." This file contains all the necessary SQL queries for setting up the portal, including sample data.
-
Import the "UserSchema.sql" file into your MySQL server. You can do this using a MySQL client or by running the following command in your terminal:
mysql -u <username> -p <database_name> < UserSchema.sql
Replace
<username>
with your MySQL username and<database_name>
with the name of the database you specified in the.env
file.
To run the Workforce Management Suite, follow these steps:
-
Ensure that you have Node.js and npm (Node Package Manager) installed on your system.
-
Navigate to the cloned repository directory using the terminal:
cd <repository_directory>
Replace
<repository_directory>
with the actual path to the cloned repository. -
Install the project's dependencies by running the following command:
npm install
-
Start the application locally with the following command:
npm start
-
Open your web browser and enter the following URL:
http://localhost:5000
(or the appropriate port number if the server is running on a different port).