Logo Lanfrica

MinQwenemihleQ/TenderMatch.API

Domaine:

socioeconomic

Type de record:

software
Créateur:
Min
Hôte:
A tender-matching platform for South African SMEs ,ASP.NET Core Web API with SQL Server, built for internship portfolio. # TenderMatch TenderMatch is a platform that helps small South African businesses find government and municipal tenders relevant to their industry and location. Businesses create a profile (industry, province, services), and the system matches them against open tenders with a calculated relevance score. Built as a personal project for internship portfolio purposes. ## Problem it solves Small businesses in South Africa often struggle to find tenders relevant to what they actually do, buried among thousands of listings across different sectors and provinces. TenderMatch narrows that down automatically based on a business's profile. ## Tech Stack - **Backend:** C# / ASP.NET Core Web API (.NET 8) - **Database:** SQL Server, accessed via Entity Framework Core (Database-First / Scaffold-DbContext) - **Frontend:** HTML, CSS, JavaScript (vanilla, no framework) - **Planned:** Python for future data analysis on tender trends ## Features - Business profile management (create, view businesses) - Tender listing with search and filtering (by industry, province, keyword, status) - **Match score algorithm** — ranks open tenders against a business's profile: - Same industry as the business: +60 points - Same province as the business: +40 points - Maximum score: 100 (perfect match on both) - Simple frontend table view of all open tenders ## Database Schema The database has 8 tables: `Users`, `Business`, `Industry`, `Province`, `Service`, `BusinessService` (many-to-many), `Tender`, `TenderService` (many-to-many). Key relationships: - A `Business` belongs to one `User`, one `Industry`, and one `Province` - A `Tender` is associated with one `Industry` and one `Province` - Businesses and Tenders both link to `Service` via junction tables (for future service-based matching) See `database-schema.sql` for the full schema, and `seed-data.sql` for sample test data. ## API Endpoints | Method | Endpoint | Description | |--------|----------|--------------| | GET | `/api/tenders` | …