Employees Monitoring is a full-stack application designed to monitor and manage employee activities and performance. This application leverages React and TypeScript for the client-side and Flask with PostgreSQL and Redis for the backend. The entire application is containerized using Docker and Docker Compose.
- Features
- Technologies Used
- Architecture
- Getting Started
- Backend Setup
- Frontend Setup
- Usage
- Contributing
- License
- User Authentication: Secure login and registration system.
- Employee Management: Add, update, and remove employee details.
- Activity Tracking: Monitor employee activities and performance.
- Real-Time Notifications: Instant updates on important events.
- Dashboard: Visual representation of employee metrics and data.
- Reporting: Generate and export performance reports.
- React: A JavaScript library for building user interfaces.
- TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
- Flask: A micro web framework for Python.
- SQLAlchemy: An ORM for database interactions.
- PostgreSQL: The database system.
- Redis: For caching and message brokering.
- Docker: For containerizing the application.
- Docker Compose: For orchestrating multi-container Docker applications.
The application is designed using a microservices architecture. The backend consists of multiple Flask services, each responsible for different aspects of the application, such as user management, activity tracking, and reporting. The frontend is a React application that communicates with these microservices through RESTful APIs.
+-------------+ +------------------+ +-------------+
| React |<---> | API Gateway |<---> | Flask |
| Client | | (Flask) | | Services |
+-------------+ +------------------+ +-------------+
/
/
/
/
|
+----+----+
| Database |
+----------+
- Docker
- Docker Compose
- Node.js and npm (for frontend development)
- Python 3.8+
- PostgreSQL
- Redis
-
Clone the repository:
git clone https://github.com/danielgof/Employees-Monitoring.git cd employees-monitoring/backend -
Create a virtual environment and activate it:
python3 -m venv venv source venv/bin/activate -
Install the dependencies:
pip install -r requirements.txt
-
Run the application using Docker Compose:
docker-compose up --build
-
Clone the repository:
git clone https://github.com/danielgof/Employees-Monitoring.git cd employees-monitoring/frontend -
Install the dependencies:
npm install
-
Run the React application:
npm start
- Register a new account or log in with existing credentials.
- Add, update, or remove employee details.
- Monitor employee activities and performance metrics.
- View real-time notifications on important events.
- Generate and export performance reports through the dashboard.
Contributions are welcome! Please fork the repository and use a feature branch. Pull requests are accepted.
- Fork the repo
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -am 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.