A professional Next.js application for managing and viewing salary reports with advanced filtering capabilities.
- Employee Management: Search and filter employees
- Location-based Filtering: View shifts by location with day-by-day grouping
- Date Range Filtering: Advanced date selection with location sub-filtering
- Salary Calculations: Before and after charges calculations
- Authentication: Secure login system
- Responsive Design: Modern UI with Tailwind CSS
- Real-time Data: Dynamic JSON file loading
- Fork/Clone this repository
- Set up CI/CD: Follow CICD_SETUP.md
- Push to main branch → Automatic deployment! 🎉
See DEPLOYMENT.md for manual Docker deployment.
- Place your JSON file in
public/data/ - Rename it to
salary_report.json - The app will automatically load the new data
{
"report_info": {
"period_start": "2025-09-01",
"period_end": "2025-09-30"
},
"employees": [
{
"employee_id": 123,
"employee_name": "John Doe",
"weeks": {
"week_1": {
"days": [
{
"date": "2025-09-01",
"location": "Store A",
"hours": {
"tracked_minutes": 480
},
"planning_salary_breakdown": {
"salaire_avant_charge": 100.00,
"salaire_apres_charge": 120.00
},
"pointage_salary_breakdown": {
"salaire_avant_charge": 95.00,
"salaire_apres_charge": 115.00
}
}
]
}
}
}
]
}- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/YOUR_USERNAME/ub_masse_salariale_interface.git
cd ub_masse_salariale_interface
# Install dependencies
npm install
# Start development server
npm run dev
# Open http://localhost:3000npm run build
npm startdocker-compose up --builddocker-compose -f docker-compose.prod.yml up -d --buildUse the provided API endpoint credentials:
- Username:
factorialmanager - Password:
t^Cd_jTL6m_#vG&
- Employee Filter: Search by name or ID
- Location Filter: View shifts grouped by location and date
- Date Range Filter:
- Select date range
- Sub-filter by locations within that range
- Toggle between date and employee grouping
- Planning vs Pointage: Toggle between planned and actual hours
- Salary Breakdown: Before and after charges
- Time Tracking: Hours worked and expected
- Augmentations: Overtime and bonus calculations
- JWT-based authentication
- Secure cookie handling
- Environment variable configuration
- Docker security best practices
GitHub Repository
↓ (push to main)
GitHub Actions
↓ (SSH deploy)
Your Server (Port 9099)
↓ (reverse proxy)
Nginx → Domain Name
NODE_ENV=production
NEXT_TELEMETRY_DISABLED=1- Port: 9099 (configurable in docker-compose.yml)
- Data Volume:
./public/datamounted for easy updates - Network: Bridge network for container communication
- Data not loading: Check
public/data/salary_report.jsonexists - Authentication fails: Verify API endpoint accessibility
- Port conflicts: Change port in
docker-compose.yml - Build failures: Check Node.js version and dependencies
# Application logs
docker-compose logs -f
# Deployment logs
tail -f /var/log/deploy.log- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is proprietary software for UB internal use.
For support and questions:
- Check the documentation files
- Review deployment logs
- Contact the development team
Made with ❤️ for UB Masse Salariale Management