A comprehensive, production-ready data analytics platform demonstrating expertise in data processing, visualization, and machine learning. Built with modern microservices architecture and designed for scalability and performance.
- ποΈ Microservices Architecture - Scalable C# API + Python Analytics Engine
- π¨ Modern UI/UX - React TypeScript with Material-UI and Dark/Light themes
- π€ Machine Learning - Multiple algorithms with real-time training and prediction
- π Interactive Visualizations - Dynamic charts and dashboards with Plotly.js
- π Enterprise Security - JWT authentication with role-based access control
- β‘ High Performance - Redis caching, database optimization, async processing
- π³ DevOps Ready - Docker containerization with CI/CD pipeline support
- Data Processing: Advanced data cleaning, transformation, and preprocessing
- Machine Learning: Support for multiple algorithms including Random Forest, XGBoost, and Neural Networks
- Data Visualization: Interactive charts and dashboards using Plotly.js
- Statistical Analysis: Comprehensive statistical tools and correlation analysis
- Real-time Processing: Asynchronous job processing with Redis message queues
- Caching: Redis-based caching for improved performance
- Authentication: JWT-based authentication with role-based access control
- Microservices Architecture: Separate C# API and Python analytics engine
- Scalable Design: Docker containerization with horizontal scaling support
- Performance Optimized: Database indexing, connection pooling, and caching strategies
- Comprehensive Testing: Unit tests, integration tests, and API documentation
- Modern Frontend: React TypeScript with Material-UI components
- API Documentation: OpenAPI/Swagger documentation for all endpoints
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β React Frontend β β C# ASP.NET β β Python FastAPI β
β (TypeScript) βββββΊβ Core API βββββΊβ Analytics Engineβ
β β β β β β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β
βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ
β PostgreSQL β β Redis β
β Database β β Cache & Queue β
βββββββββββββββββββ βββββββββββββββββββ
- C# ASP.NET Core 8.0: Main API service with Entity Framework Core
- Python FastAPI: Analytics engine with async support
- PostgreSQL: Primary database with JSONB support
- Redis: Caching and message queue system
- React 18: Modern UI framework
- TypeScript: Type-safe JavaScript
- Material-UI: Component library
- Plotly.js: Interactive data visualizations
- React Router: Client-side routing
- Docker & Docker Compose: Containerization
- Nginx: Reverse proxy and load balancing
- Prometheus: Metrics and monitoring
- Serilog: Structured logging (C#)
- Loguru: Advanced logging (Python)
- scikit-learn: Core ML algorithms
- XGBoost: Gradient boosting
- pandas: Data manipulation
- NumPy: Numerical computing
- Plotly: Data visualization
- statsmodels: Statistical analysis
- Docker and Docker Compose
- .NET 8.0 SDK (for local development)
- Python 3.11+ (for local development)
- Node.js 18+ (for frontend development)
-
Clone the repository
git clone <repository-url> cd data-analytics-platform
-
Start the platform
docker-compose up -d
-
Access the application
- Frontend: http://localhost:3000
- C# API: http://localhost:5000
- Python Analytics: http://localhost:8000
- API Documentation: http://localhost:5000/swagger
cd backend/DataAnalytics.API
dotnet restore
dotnet runcd analytics-engine
pip install -r requirements.txt
uvicorn main:app --reload --port 8000cd frontend
npm install
npm start# Start PostgreSQL and Redis
docker-compose up -d postgres redis
# Run database migrations
cd backend/DataAnalytics.API
dotnet ef database updateimport requests
# Upload dataset
files = {'file': open('data.csv', 'rb')}
response = requests.post('http://localhost:5000/api/datasets/upload',
files=files,
headers={'Authorization': 'Bearer <token>'})
# Process data
processing_request = {
"datasetId": response.json()['id'],
"operations": ["clean", "normalize"],
"configuration": {
"remove_duplicates": True,
"handle_missing": "drop"
}
}
requests.post('http://localhost:5000/api/analytics/process-data',
json=processing_request,
headers={'Authorization': 'Bearer <token>'})training_request = {
"datasetId": "dataset-id",
"algorithm": "random_forest",
"targetColumn": "target",
"features": ["feature1", "feature2", "feature3"],
"hyperparameters": {
"n_estimators": 100,
"max_depth": 10
}
}
response = requests.post('http://localhost:5000/api/analytics/train-model',
json=training_request,
headers={'Authorization': 'Bearer <token>'})viz_request = {
"datasetId": "dataset-id",
"chartType": "scatter",
"xColumn": "feature1",
"yColumn": "feature2",
"configuration": {
"title": "Feature Correlation",
"colorColumn": "target"
}
}
response = requests.post('http://localhost:5000/api/analytics/visualize',
json=viz_request,
headers={'Authorization': 'Bearer <token>'})This project demonstrates proficiency in:
- β Modern React TypeScript frontend with Material-UI
- β RESTful API design with ASP.NET Core
- β Microservices architecture with inter-service communication
- β Database design and optimization with PostgreSQL
- β Data preprocessing and feature engineering
- β Multiple ML algorithms (Random Forest, XGBoost, Neural Networks)
- β Model evaluation and hyperparameter tuning
- β Real-time prediction APIs
- β Docker containerization and orchestration
- β Redis caching and message queues
- β Performance optimization and monitoring
- β Security best practices and authentication
- β Clean architecture and SOLID principles
- β Comprehensive testing (unit, integration, API)
- β API documentation with OpenAPI/Swagger
- β Error handling and logging strategies
data-analytics-platform/
βββ π¨ frontend/ # React TypeScript UI
β βββ src/components/ # Reusable UI components
β βββ src/pages/ # Application pages
β βββ src/contexts/ # React contexts (theme, auth)
β βββ src/services/ # API service layer
βββ π§ backend/ # C# ASP.NET Core API
β βββ DataAnalytics.API/ # Web API controllers
β βββ DataAnalytics.Core/ # Business logic
β βββ DataAnalytics.Data/ # Data access layer
β βββ DataAnalytics.Tests/ # Unit tests
βββ π analytics-engine/ # Python FastAPI service
β βββ src/api/ # API routes
β βββ src/services/ # ML and data services
β βββ src/models/ # Data models
β βββ tests/ # Python tests
βββ ποΈ database/ # Database scripts
β βββ migrations/ # Schema migrations
β βββ seed-data/ # Sample data
βββ π³ docker/ # Docker configurations
βββ π docs/ # Documentation
βββ π scripts/ # Deployment scripts
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name
- GitHub: @yourusername
- LinkedIn: Your LinkedIn
- Portfolio: Working on now
- Built with modern technologies and best practices
- Inspired by real-world data analytics challenges
- Designed for scalability and maintainability
β If you found this project helpful, please give it a star! β