TL;DR: LinkedIn for Hackathons. Our project is a web-based environment for developers to list their skills, and project ideas. Then we can have developers who are looking to join a team be matched up to the most relevant project.
The way you establish a team for hackathons is that you either come to the event with friends who will be your teammates, or you go hoping to find a team needing help. However not everyone uses Slack to find team members. Adding to this, depending on the number of attendees for hackathons, the chances of you interacting with everyone you could that would possibly lead to your inclusion in a team are super low. Our frustration at the current in-place process for developers finding projects and projects finding developers inspired us to create this interface.
Our project lets developers going into hackathons to specify which languages, API's and technologies they are experienced in, as well as their preference for a project category. They can also create project postings which also specify which technologies and languages are needed for their project. The interface then matches developers to projects based solely on how well a developer fits a role for a project and initiates a channel of communication between the two parties.
We first decided on the structure of our database tables. Once we knew what information we'd have to process, we decided on a "top-down" approach to implementing this project- starting with the login page. This was a bad idea and prevented us from finishing key goals for this project on time.
We came up with the idea for this project after hacking had started, meaning we had a late start. For the beginning of this project, we only had one member. Adding new members to the development team in the middle of the development process set us back quite a bit. Due to our inexperience with web development, primarily styling and the php scripts, we had multiple instances where we could not progress our development due to code-breaking bugs.
We have the framework mostly set up for user authentication and account creation using secure coding practices (SQL-injection-proofing is in our TODO's, but not forgotten). We're also really proud of how the UI looks like. Spending extra time making sure we had a nice logo as well as a clean interface was worth it.
Going into this project, our knowledge of web development was at a "hello world" level. Therefore, this was a wonderful learning opportunity about the syntax of CSS, HTML, and php. We also gained experience with designing relational database systems as well as designing file structures and php scripts. The experience that we got from focusing on the design aspect of web development will help us design user interfaces that are friendly and intuitive to use.
Due to the complexity of this project with regards to our experience, we were not able to implement the main features of this project. The project as of writing this does not have any match-making process or functioning interface for developers and project leaders to input information... At least we got our login system up and running! Except it is also faulty. It is a hacker's dream. Safeguarding against sql injection and packet reading is high on our list of TODO's. Speaking of TODO's, we have such a list on our project's github!
For programming languages we used php, HTML, and CSS. The logo was made through GIMP. We used a mysql database to store our relational tables. For IDE's we used PHPStorm as our main IDE. We also made use of notepad++, command line for executing sql scripts and database monitoring, and lastly we used FileZilla as our FTP program to upload our files onto the web. (Yes, they're LIVE right now with a working URL).
HAVIT RGB Mechanical Keyboard
$100 Amazon Gift Cards
Jetbrains Pro Software
Misfit Shine 2