A modern digital solution to replace paper-based BLS (Bureau of Labor Statistics) Current Employment Statistics (CES) surveys. This system provides a web-based form for businesses to submit employment data and a comprehensive dashboard for data aggregation and analysis.
This project demonstrates a digital transformation of the BLS-790 survey form, replacing inefficient paper-based processes with a modern web application. The system enables:
- Digital Form Submission: Businesses can submit CES survey data via a user-friendly web form
- Real-time Analytics: Dashboard with aggregated data, charts, and employment trend analysis
- Data Management: View, filter, and manage all survey submissions
- Automated Aggregation: Automatic calculation of employment changes, averages, and industry breakdowns
- Frontend: React 18 with Vite, React Router, and Recharts for data visualization
- Backend: C# .NET 8.0 Web API with Entity Framework Core
- Database: SQLite (easily upgradeable to PostgreSQL/SQL Server)
- API: RESTful API with Swagger documentation
- Matches the structure of the official BLS-790 form
- Industry code selection (NAICS codes)
- Employment counts (total and nonsupervisory)
- Hours worked and earnings data
- Form validation and error handling
- Responsive design for mobile and desktop
- Key metrics: Total submissions, employees, employment changes
- Employment trends by industry and state
- Average hourly earnings analysis
- Interactive charts and visualizations
- Month-over-month comparisons
- View all submissions with filtering
- Filter by period, industry, and state
- Pagination for large datasets
- Export capabilities (future enhancement)
- Navigate to the backend directory:
cd backend/BLS.CES.API- Restore dependencies:
dotnet restore- Run the API:
dotnet runThe API will be available at http://localhost:5000 (or the port shown in the console).
Swagger documentation is available at http://localhost:5000/swagger when running in development mode.
- Navigate to the frontend directory:
cd frontend- Install dependencies:
npm install- Start the development server:
npm run devThe frontend will be available at http://localhost:3000.
Create a .env file in the frontend directory (optional):
VITE_API_URL=http://localhost:5000/api
bls-ces-digital/
βββ backend/
β βββ BLS.CES.API/
β βββ Controllers/ # API endpoints
β βββ Models/ # Data models
β βββ Services/ # Business logic
β βββ Data/ # Database context
β βββ DTOs/ # Data transfer objects
βββ frontend/
β βββ src/
β βββ components/ # React components
β βββ services/ # API client
β βββ App.jsx # Main app component
βββ README.md
GET /api/submissions- Get all submissions (with filtering)GET /api/submissions/{id}- Get a specific submissionPOST /api/submissions- Create a new submissionPUT /api/submissions/{id}- Update a submissionDELETE /api/submissions/{id}- Delete a submission
GET /api/analytics/aggregated- Get aggregated data by period/industry/stateGET /api/analytics/dashboard- Get dashboard statistics
The system collects the following data points matching the BLS-790 form:
- Business Information: Name, industry (NAICS), location
- Reference Period: Pay period that includes the 12th of the month
- Employment: Total employees, nonsupervisory employees
- Hours: Average weekly hours worked
- Earnings: Average hourly earnings, total payroll
- React: Modern UI framework
- C# .NET 8: Enterprise-grade backend
- Entity Framework Core: ORM for database operations
- SQLite: Lightweight database (production-ready alternatives available)
- Recharts: Beautiful chart visualizations
- Vite: Fast build tool and dev server
- Data validation on both client and server
- CORS configuration for secure API access
- SQL injection protection via Entity Framework
- Confidentiality language matching BLS requirements
- Ready for authentication/authorization implementation
- Email submission capability
- PDF export of submissions
- User authentication and role-based access
- Advanced reporting and export features
- Integration with BLS systems
- Real-time notifications
- Data validation rules matching BLS standards
- Multi-pay group support enhancement
This is a demonstration project created for US Tech Force application. It showcases:
- Modern full-stack development skills
- Understanding of government data collection processes
- Ability to transform legacy systems into modern digital solutions
- Clean code architecture and best practices
This project is a portfolio demonstration. For production use, additional features would be needed:
- Authentication and authorization
- Audit logging
- Data encryption at rest
- Backup and recovery procedures
- Performance optimization for large datasets
- Integration testing
This project is created for demonstration purposes.
Created for US Tech Force application - showcasing digital transformation capabilities.