Enterprise-grade construction project and materials management platform built with .NET and React.
BuildTrack is a full-stack web application designed for construction companies to streamline project tracking, materials inventory, procurement workflows, and real-time dashboards. Built solo using AI-first development principles (Lovable AI, GitHub Copilot, Claude AI), it demonstrates rapid delivery without compromising architectural quality.
Key Achievement: Complete production-ready system (backend, frontend, database, testing, documentation) built in a compressed timeline by leveraging modern AI tools.
- Real-time project tracking with status updates
- Milestone and task scheduling
- Resource allocation and team assignments
- Progress reporting and timeline visibility
- Centralized inventory database
- Stock level tracking and alerts
- Supplier management and ordering
- Cost tracking and budget integration
- Automated purchase order generation
- Approval workflows with role-based access
- Vendor comparison and pricing tracking
- Delivery and receipt confirmation
- Real-time KPI dashboards
- Cost and budget analysis
- Resource utilization reports
- Variance analysis (planned vs. actual)
| Layer | Technology |
|---|---|
| Back-End | .NET Core 6+ · C# · ASP.NET Web API |
| Database | MS SQL Server · Entity Framework Core |
| Front-End | React 18+ · TypeScript · Tailwind CSS |
| Deployment | Microsoft Azure · App Service |
| Version Control | Git · GitHub |
| CI/CD | GitHub Actions |
- .NET 6 SDK or higher
- Node.js 16+
- SQL Server 2019 or later (or SQL Server Express)
- Git
-
Clone the repository:
git clone https://github.com/ErineLopez/BuildTrack.git cd BuildTrack -
Backend Setup:
cd BuildTrack.API dotnet restore dotnet user-secrets set "ConnectionStrings:DefaultConnection" "your-connection-string" dotnet ef database update dotnet run
Backend runs on
http://localhost:5000 -
Frontend Setup:
cd BuildTrack.Web npm install npm startFrontend runs on
http://localhost:3000 -
Access the Application:
- Navigate to
http://localhost:3000 - Default credentials:
admin / password(change on first login)
- Navigate to
BuildTrack/
├── BuildTrack.API/ # .NET Web API
│ ├── Controllers/ # API endpoints
│ ├── Services/ # Business logic
│ ├── Models/ # Data models
│ ├── Data/ # EF Core DbContext & migrations
│ └── appsettings.json
├── BuildTrack.Web/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable React components
│ │ ├── pages/ # Page-level containers
│ │ ├── services/ # API client
│ │ ├── store/ # State management
│ │ └── App.tsx
│ └── package.json
└── README.md
BuildTrack uses JWT (JSON Web Tokens) for stateless authentication:
- Role-based access control (RBAC): Admin, Manager, Supervisor, User
- Secure password hashing with bcrypt
- Token refresh mechanism for extended sessions
- HTTPS enforced in production
Core Tables:
Projects— Project metadata, timeline, budgetMaterials— Inventory items, quantities, unit costsPurchaseOrders— Procurement records and approvalsTasks— Project tasks and team assignmentsUsers— User profiles and role assignments
Key Stored Procedures:
sp_GetProjectSummary— Real-time project KPIssp_GenerateInventoryReport— Stock and usage analyticssp_ProcessApprovals— Workflow automation
# Run unit tests
dotnet test BuildTrack.Tests
# Run integration tests
dotnet test BuildTrack.IntegrationTests
# Frontend tests
cd BuildTrack.Web
npm testThis project demonstrates AI-assisted development best practices:
- Lovable AI — Rapid UI prototyping and component generation
- GitHub Copilot — Boilerplate reduction, API method scaffolding
- Claude AI — Architecture review, debugging, documentation
Result: 40% faster delivery cycle while maintaining code quality and comprehensive documentation.
- Mobile-responsive dashboards for field teams
- SMS/Email notifications for order status
- Multi-currency and international accounting
- Advanced forecast modeling
- Barcode/QR code integration for inventory
Full API documentation available at /swagger endpoint when running locally.
GET /api/projects — List all projects
POST /api/projects — Create new project
GET /api/projects/{id} — Project details
GET /api/materials — Inventory list
POST /api/purchaseorders — Submit PO
GET /api/dashboards/summary — KPI summary
This is a portfolio project, but if you'd like to discuss architecture or propose improvements:
- Open an Issue with detailed description
- Submit a Pull Request with clear commit messages
- Follow existing code style (see
.editorconfig)
This project is private and owned by Erine Lopez. Contact for licensing inquiries.
- Email: erinelopez22@gmail.com
- GitHub: @ErineLopez
- LinkedIn: Erine Lopez
Built with precision, delivered on time, documented thoroughly.