Note:
The latest development and features (including SharePoint screenshot uploads) are available on thefeature/upload-screenshots-to-sharepointbranch.
Please use this branch for the most recent updates and to contribute new features.
A full-stack application for tracking employees, tasks, and monitoring activities, with admin and user roles. Built with a React frontend, Node.js/Express backend, MongoDB, and Electron desktop integration. Includes SharePoint integration for screenshot uploads.
- User Authentication: Secure login/signup with JWT-based authentication.
- Admin Dashboard: Manage users, assign roles, and view employee data.
- Task Management: Assign, track, and update tasks for employees.
- Monitoring: Capture and upload screenshots to SharePoint for monitoring.
- Electron Desktop App: Desktop client for screenshot capture and uploads.
- Role-Based Access: Admin and employee roles with different permissions.
- Frontend: React, JavaScript, CSS
- Backend: Node.js, Express, MongoDB
- Desktop: Electron
- Cloud Storage: Microsoft SharePoint (via OneDrive API)
- Authentication: JWT, bcrypt
employee-tracker-application/
client/ # React frontend
desktop/ # Electron desktop app
server/ # Node.js/Express backend
shared/ # Shared types and utilities
- Node.js (v16+ recommended)
- MongoDB instance (local or cloud)
- Microsoft 365 account (for SharePoint integration)
git clone https://github.com/shlok3640/employee-tracker-application.git
cd employee-tracker-application- Copy
server/env-template.txttoserver/.envand fill in the required values (MongoDB URI, JWT secret, SharePoint credentials, etc.).
Install dependencies for each part:
# Backend
cd server
npm install
# Frontend
cd ../client
npm install
# Desktop
cd ../desktop
npm install
# Shared (if used)
cd ../shared
npm installcd server
npm startcd client
npm startcd desktop
npm startPOST /api/auth/login— User loginPOST /api/auth/signup— Admin creates new userGET /api/auth/users— Get all users (admin only)DELETE /api/auth/users/:id— Delete user (admin only)POST /api/auth/create-initial-admin— Create first admin if none existsPOST /api/monitoring/upload— Upload screenshot (desktop app)- ...and more (see
server/routes/)
See server/ONEDRIVE_SETUP.md for detailed setup instructions for SharePoint/OneDrive integration.
- Fork the repository
- Create your feature branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin feature/YourFeature) - Create a new Pull Request
Maintainer: @shlok3640