The platform aims to serve as a central hub for the tech startup community, enabling startup founders to assemble and manage well-organized teams effectively. Additionally, skilled individuals can showcase their skills and portfolio to demonstrate their capabilities and join startup teams. This addresses the practical challenge of designing and implementing a unified platform that organizes tech startup teams by combining recruitment and team management features, facilitating expert matching, and creating a talent pool of skilled professionals.
The project objectives are as follows:
-
Objective 1: To enable startup founders to organize startup teams by hiring skilled individuals.
Test: Evaluate the usability and effectiveness of the job posting and team formation features through user feedback. -
Objective 2: To enable skilled individuals to showcase their portfolios and join startup teams.
Test: Assess the ease of portfolio sharing and the impact of the hiring process through user feedback. -
Objective 3: To match suitable skilled individuals to startup job postings and assist founders in finding the right talent.
Test: Measure the accuracy of the matching algorithm along with user feedback. -
Objective 4: To facilitate startup team management through goal setting, milestone tracking, role definitions, and task management.
Test: Evaluate the clarity and usability of goal setting, milestone tracking, role definitions, and task management features through user feedback.
These objectives have been refined from the initial proposed ones to focus on core aspects essential for the timely delivery of the project within the given timeframe and successful completion.
The platform follows a Modular Monolith Architecture:
- Backend: ASP.NET Core, organized in modules for User Management, Portfolio Management, Job Management, and Team Management.
- Frontend: React.js, providing a responsive and dynamic user interface for both startup founders and skilled individuals.
This modular monolith approach allows us to maintain a single deployable unit while separating concerns internally for scalability and maintainability.
The current source code folder contains the following directories:
- Backend: ASP.NET Core backend project.
- Deployment Configurations: YAML configuration files for Kubernetes.
- Frontend: React app for the platform.
- Matching-Algorithm: Matching algorithm integrated into the backend, with additional tests in this folder.
Startup Founder Account
- Username: founder_test@example.com
- Password: TestP@ss123
Skilled Individual Account
- Username: individual_test@example.com
- Password: TestP@ss123
- Navigate to the folder
\frontend\startupteam. - Open a terminal or console in that directory.
- Install dependencies:
npm instal
- Start the frontend application:
npm start
The app will run on your localhost.
Note: The
node_modulesfolder has been removed to reduce submission size. Ensure you runnpm installbefore starting the frontend.
- Navigate to the folder
\backend\StartupTeam. - Open the solution file
StartupTeam.slnin Visual Studio. - Click the Run button to start the backend. By default, the backend connects to the Azure SQL database hosted in the cloud.
- Navigate to
\backend\StartupTeam\StartupTeam.Apiand openappsettings.json. - Change the value of
"ConnectionStrings:DefaultConnection"to your local SQL Server connection string.
- Open Command Prompt and navigate to
\backend\StartupTeam. - Run the following commands for each module:
dotnet ef database update --project ./Modules/StartupTeam.Module.UserManagement --startup-project ./StartupTeam.Api --context UserManagementDbContext dotnet ef database update --project ./Modules/StartupTeam.Module.PortfolioManagement --startup-project ./StartupTeam.Api --context PortfolioManagementDbContext dotnet ef database update --project ./Modules/StartupTeam.Module.JobManagement --startup-project ./StartupTeam.Api --context JobManagementDbContext dotnet ef database update --project ./Modules/StartupTeam.Module.TeamManagement --startup-project ./StartupTeam.Api --context TeamManagementDbContext
- Navigate to
\backend\StartupTeam. - Open
StartupTeam.slnin Visual Studio. - Select the
StartupTeam.Testsproject in Solution Explorer. - From the Test menu, select Run All Tests.
- All tests should pass. Results can be viewed in the Test Explorer.
- Navigate to the folder
\frontend\startupteamin Visual Studio Code. - From the Testing menu, select Run All Tests.
- All tests should pass successfully.
- Navigate to the folder
\matching-algorithm. - Open the solution file
Solution1.slnin Visual Studio. - Click the Run button. The console application will display the results.
The following diagrams and screenshots illustrate the platform's design and functionality:
Here are some screenshots of the platform:
- Founder - Dashboard
- Founder - Team Management
- Founder - Team Creation
- Individual - Job Listings
- Individual - Job Posting
- Individual - Job Matches
For a detailed report on the project, including design, implementation, testing, and evaluation, please refer to the full project report.
/screenshots/Platform/4.png)
/screenshots/Platform/23.png)
/screenshots/Platform/21.png)
/screenshots/Platform/12.png)
/screenshots/Platform/13.png)