A full-stack web application for managing employee work schedules, built with modern web technologies.
Clone the repository:
git clone https://github.com/MorphZG/work_schedule_app.git
cd work_schedule_app
Install backend dependencies:
cd backend
npm install
Install frontend dependencies:
cd ../frontend/vite-project
npm install
Set up environment variables:
Create a .env
file in the backend directory with the following variables:
MONGODB_URI=your_mongodb_connection_string
PORT=3000
Start the backend server:
cd backend
npm run dev
Start the frontend development server:
cd frontend/vite-project
npm run dev
The application will be available at:
GET /schedule/:period
- Get schedule for specific periodPOST /schedule
- Create new schedulePUT /schedule/:id
- Update existing schedulePUT /preferences/:employeeId
- Update employee preferencesGET /preferences/:employeeId
- Get employee preferencesGET /statistics/:employeeId
- Get employee work statisticsGET /statistics/team
- Get team-wide statisticsThe project uses:
Run quality checks:
npm run lint # Check code style
npm run format # Format code
npm run test # Run tests
For detailed information about the project structure, see dir_structure.md
See CONTRIBUTE.md for details on our code of conduct and the process for submitting pull requests.