A comprehensive web application for validating, consolidating, and analyzing IT equipment inventories to evaluate their environmental impact.
- CSV/Excel file validation to ensure data quality and completeness
- Automatic error detection with classification into critical and minor issues
- Interactive error correction with suggestions for fixing common problems
- Equipment consolidation to group similar items and calculate accurate quantities
- Export functionality supporting both CSV and Excel formats
- Export history tracking to maintain records of all generated reports
- Modern responsive interface built with Next.js and Tailwind CSS
- Real-time validation feedback for immediate data quality assessment
- Detailed equipment inventory view with filtering and search capabilities
- Environmental impact preparation by standardizing data for analysis tools
- Node.js v18+ for the frontend
- Python 3.9+ for the backend
- pip (Python package manager)
- Clone the repository:
git clone https://github.com/yourusername/G4IT-CSV-Check.git
cd G4IT-CSV-Check- Install backend dependencies:
cd backend
pip install -r requirements.txt- Install frontend dependencies:
cd ../frontend
npm installThe application uses default configuration for development environments:
- Backend API runs on
http://localhost:8001 - Frontend application runs on
http://localhost:3000
You can modify these settings in:
- Backend:
backend/main.py(CORS settings) - Frontend: Environment variables or directly in API route files
For convenience, you can use the start-all script (Linux/macOS):
./scripts/start-all.shOr start each component separately:
cd backend
uvicorn main:app --host 0.0.0.0 --port 8001cd frontend
npm run devThe application will be available at http://localhost:3000
To create an optimized production build for the frontend:
cd frontend
npm run build
npm run start- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- Zustand for state management
- Axios for API requests
- Papa Parse for CSV processing
- XLSX for Excel file handling
- FastAPI
- Python 3.9+
- Pandas for data processing
- OpenPyXL for Excel file handling
- User uploads CSV/Excel inventory file
- Backend validates file format and structure
- Data is processed and errors are identified
- User corrects errors through the interface
- Equipment items are consolidated based on similar characteristics
- Consolidated data can be exported in CSV or Excel format
- Export history is maintained for reference
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request