An open sourced project and team matching platform meant for inhouse project management and hiring for clubs and organizations.
This application is the MVP meant for beta testing the concept. Find the production release here
The final application is currently in development at the UMass DSC. The final application supports the user building and hosting their own instance of the application.
Projectory is supposed to make team matching easier and faster for projects. It is based on 2 main elements:
The user object is composed of the user's profile which entails their
- contact information
- experience
- skills
- resume
When a user applies to be a part of a project's team, they don't have to submit an application. Their profile is automatically saved in the pool of the project's applicants.
When the project owner looks at all the applicants for a project, they can swipe through each applicant's profile and easily select an applicant by the click of a button. This adds the selected user in the team for that project and they get an email from the application informing them of the selection.
A user can also see all the teams that they're a part of in each project on the My Teams
page.
Projects are described by
- skills needed
- description
- github
Interested users can apply to a project by simply clicking on the Apply
button which adds them to the applicant pool for that project.
Once the project owner has selected enough team members, they can close a project by clicking on Finalize
, which migrates the project's status from being open to closed. This sends an email to all the team members and all the interested applicants who weren't selected about the project closing for hiring.
Closed projects can be reopen for hiring at any time, in which case, all formerly interested users get an email about the project opening up again.
We used Express.js (a Node.js framework) for developing the backend with Google Firebase's SDK.
Firebase supports an inherent NoSQL Cloud database, authentication and API hosting for Web, Android and IOS clients.
The client application is built using React.js.
Due to the nature of our data storage needs, a SQL database is more desirable. Further, Firebase has limits when it comes to scalability and sharding app instances to allow different users to build a different instance of our application exclusively for their organization.
In order to address these issues, we're currently migrating the entire codebase to Ruby on Rails and PostgreSQL.
We'll preserve the client application in React.js and integrate that within the Rails Views.