Skip to content

This is a web application for managing a factory's employees, departments, and shifts.

License

Notifications You must be signed in to change notification settings

IlyaEru/node-final-project

Repository files navigation

Factory Management Web Application

This is a web application for managing a factory's employees, departments, and shifts.

node-final-project-preview.mp4

Description

The purpose of the web site is to provide a management system for a factory. It allows registered users to log in and perform various actions, such as creating and editing employees and departments, creating and allocating shifts, and viewing user data. The site uses Node.JS and MongoDB on the server side, and React with Redux on the front-end. The site also implements JWT-based authentication to ensure only registered users can access the system, and tracks user actions to enforce a maximum number of actions per day.

Built With

General

  • Typescript - for type checking
  • Joi - for input validation
  • Dayjs - for date and time manipulation
  • Eslint - for linting

Server

  • Node.JS - for server-side logic
  • Express - for routing
  • MongoDB - for data storage
  • Mongoose - for data modeling
  • jsonwebtoken - for authentication
  • Bcrypt - for password hashing
  • Helmet - for security
  • Morgan - for logging
  • Dotenv - for environment variables
  • Nodemon - for development
  • Jest, mongoose-memory-server, supertest - for testing

Client

  • React - for front-end logic
  • Redux + Redux Toolkit - for state management
  • Redux Toolkit Query - for data fetching, caching, and invalidation
  • Redux persist - for persisting state to local storage
  • React Router - for routing
  • Vite - for bundling
  • Styled Components - for styling

Installation

  1. Clone the repo
git clone https://github.com/IlyaEru/node-final-project.git
  1. Install NPM packages
npm install

or

yarn install

or (my recommendation)

pnpm install
  1. Create a .env file in the backend directory of the project with yours environment variables, like the .env.template file

  2. Run the project

npm start

or for development

npm run dev

About

This is a web application for managing a factory's employees, departments, and shifts.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages