A comprehensive employee attendance and behavior monitoring system powered by facial recognition technology. This full-stack application uses AI-powered face detection to track employee attendance, monitor work hours, and generate detailed reports.
- Facial Recognition Authentication: Secure login and attendance tracking using face-api.js
- Real-time Attendance Monitoring: Track employee check-ins and check-outs in real-time
- Employee Management: Complete CRUD operations for employee records
- Behavior Tracking: Monitor and analyze employee behavior patterns
- Alert System: Automated alerts for anomalies and important events
- Reports & Analytics: Generate detailed reports with charts and export to PDF
- Admin Dashboard: Comprehensive dashboard for administrators with analytics
- Real-time Updates: Socket.io integration for live updates across the system
- React 18 - Modern UI library
- Vite - Fast build tool and dev server
- React Router - Client-side routing
- Tailwind CSS - Utility-first CSS framework
- face-api.js - Face detection and recognition
- Recharts - Data visualization
- Framer Motion - Animations
- Axios - HTTP client
- Node.js - JavaScript runtime
- Express 5 - Web application framework
- MongoDB - NoSQL database
- Mongoose - MongoDB ODM
- Socket.io - Real-time bidirectional communication
- TensorFlow.js - Machine learning
- JWT - Authentication
- bcrypt - Password hashing
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher recommended)
- npm or yarn
- MongoDB (local installation or MongoDB Atlas account)
-
Clone the repository
git clone https://github.com/Mereyem02/reconnaissance_Faciale_Project.git cd reconnaissance_Faciale_Project -
Install root dependencies
npm install
-
Install client dependencies
cd client npm install cd ..
-
Install server dependencies
cd server npm install cd ..
-
Create environment variables file
Create a
.envfile in the root directory with the following variables:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key
-
MongoDB Setup
- For local MongoDB: Ensure MongoDB service is running
- For MongoDB Atlas: Create a cluster and get your connection string
-
Configure Client API URL
The client is configured to connect to
http://localhost:5000/apiby default. Update this inclient/src/App.jsxif needed.
-
Start the server
cd server npm run devThe server will run on
http://localhost:5000 -
Start the client (in a new terminal)
cd client npm run devThe client will run on
http://localhost:5173 -
Access the application
Open your browser and navigate to
http://localhost:5173
-
Build the client
cd client npm run build -
Preview the production build
npm run preview
reconnaissance_Faciale_Project/
├── client/ # React frontend application
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── components/ # Reusable React components
│ │ ├── pages/ # Page components
│ │ ├── App.jsx # Main application component
│ │ └── main.jsx # Application entry point
│ ├── package.json
│ └── vite.config.js
├── server/ # Express backend application
│ ├── controllers/ # Route controllers
│ ├── models/ # Mongoose models
│ ├── routes/ # API routes
│ ├── public/ # Static files (images, etc.)
│ ├── server.js # Server entry point
│ └── package.json
├── database/ # Database related files
├── .env # Environment variables
├── package.json # Root package.json
└── README.md # This file
- Log in with admin credentials
- Access the dashboard to view real-time statistics
- Manage employees (add, edit, delete)
- View attendance records
- Generate and export reports
- Configure alerts and notifications
- Use facial recognition to log in
- Check in/out using the face recognition system
- View personal attendance history
- Track work hours
- JWT-based authentication
- Password hashing with bcrypt
- Protected API routes
- Secure facial recognition data storage
- Environment variable configuration
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is part of an academic/research project. Please contact the repository owner for licensing information.
- Mereyem02 - GitHub Profile
- face-api.js for facial recognition capabilities
- TensorFlow.js for machine learning models
- The open-source community for various libraries and tools
For support, please open an issue in the GitHub repository or contact the project maintainers.
Note: This is a facial recognition system. Ensure you comply with local privacy laws and regulations when deploying this application in a production environment.