A full-stack pension management application with a Next.js frontend integrated with a Spring Boot backend. The system provides real-time pensioner, operations, group, and analytics management. All static data has been replaced with dynamic API calls from Spring Boot, making it production-ready, type-safe, and scalable.
- Real-time pensioner statistics
- Payment trends and charts
- Recent activity feed
- Dynamic city and payment method distributions
- Complete CRUD operations (Create, Read, Update, Delete)
- Real-time search and filtering
- Full operation history per pensioner
- Responsive UI with error handling
- Complete CRUD for company groups
- Sector and city-based filtering
- Real member counts and contributions
- Live search functionality
- Real deduction and refund operations
- Proper pensioner linking
- Full history with real backend data
- Dynamic AI analysis using real operations data
- Customizable date filters
- Pensioner record summaries
spring app/
├── CI-NextJS/ (Next.js frontend)
│ ├── src/
│ ├── package.json
│ └── ...
└── backend/ (Spring Boot backend)
├── src/
├── pom.xml
└── ...
- Node.js 18+
- Java 17+
- Spring Boot backend running on
http://localhost:8080 - MySQL Database with sample data loaded
- CORS enabled for
http://localhost:9002
cd /path/to/pension-backend
mvn spring-boot:runcd "c:\Users\Admin\Desktop\students\spring app\CI-NextJS"
npm install
npm run dev- Frontend: http://localhost:9002
- Backend API: http://localhost:8080/api
GEMINI_API_KEY=your_gemini_api_key
NEXT_PUBLIC_API_URL=http://localhost:8080Note: Keep your Gemini API key secure and never expose it on the client-side.
GET/POST/PUT/DELETE /api/pensioners
GET /api/pensioners/city/{city}
GET/POST/PUT/DELETE /api/operations
GET /api/operations/pensioner/{id}
GET /api/operations/type/{type}
GET /api/dashboard/stats
GET/POST/PUT/DELETE /api/company-groups
GET /api/company-groups/city/{city}
GET /api/company-groups/sector/{sector}
GET/POST/PUT/DELETE /api/banking
GET /api/banking/pensioner/{id}
GET/POST/PUT/DELETE /api/demandes
GET /api/demandes/pensioner/{id}
- Single source of truth from backend
- Type-safe API integration
- Scalable and maintainable code
- Easier debugging with real API responses
- Real-time updates
- Accurate and consistent data
- Optimized performance
- Reliable functionality with proper error handling
- Centralized data management
- Production-ready architecture
- Future-proof and extensible
- 404 Errors: Ensure backend is running and endpoints exist
- CORS Errors: Verify Spring Boot allows
http://localhost:9002 - Backend unavailable: Check port 8080 and database connectivity
# Test backend connectivity
curl http://localhost:8080/api/pensioners- All static JSON data replaced with live API calls
- 15+ components updated for backend integration
- 20+ new API functions implemented
- Loading states and error handling added
- Backward compatibility maintained with legacy transformers
- Real-time updates via WebSockets
- Advanced filtering and search
- Bulk operations support
- Performance optimization and caching (React Query)
- Monitoring and analytics dashboard
This project is open source and uses Apache 2.0 for code samples and Creative Commons Attribution 4.0 for documentation.