This project integrates with Census.gov API to fetch and display regional income data, allowing users to compare their income with the median regional income.
- Fetches real-time regional income data from Census.gov.
- Handles API failures and incomplete datasets with proper error messages.
- Normalizes data for consistent display.
1️⃣ User inputs or confirms location (auto-detection enabled).2️⃣ System fetches & displays regional median income.3️⃣ User’s income is ranked as a percentage, alongside a bar chart comparison.
- Displays user’s income ranking as a percentage of regional income.
- Simple bar chart visualization for comparison.
- Fully responsive design for mobile and desktop.
- Displays an error message if Census data is unavailable.
- Allows users to manually input location if auto-detection fails.
- Provides graceful fallback handling in case of API failures.
- Optimized API calls for fast response times.
- Ensures scalability for multiple users accessing the system simultaneously.
- Maintains 99% data integration accuracy.
git clone https://github.com/Jamilbilal47/census-income.git
cd census-income
npm install
- Add API keys or any required environment variables.
npm run dev
The app should be running at http://localhost:3000
.
The project is deployed on Railway and can be accessed here:🔗 Live Deployment
For deployment:
- Railway automatically builds and deploys from GitHub.
- The build command is:
npm run build
- The start command is:
npm start
- Handling API rate limits: Implemented error handling for cases where API responses are delayed.
- Location auto-detection fallback: Users can manually enter their location if auto-detection fails.
- Performance considerations: Ensured optimized API calls to reduce load times.
- Add multi-region comparisons.
- Implement historical income trends visualization.
- Enhance UI design with interactive elements.
For any queries, feel free to reach out:🌟 Jamil Bilal | 📧 [email protected]
This README.md
provides a clear project overview, setup instructions, features, challenges, and future enhancements. Let me know if you need any modifications! 🚀