With a team of 2 sophomores and a freshman, we have struggled with gaining "relevant experience" for internship opportunities. It's also very difficult to learn the numerous technologies it takes to build a successful application on top of school work and extra-curriculars. That's why we wanted to build a fast-paced and short-term developer matching app to allow students at Texas A&M to quickly start projects together based on their shared interests and skills.
What it does
Matches student developers to each other and encourages collaboration on projects. This was specifically implemented by using a "discover" page where you can briefly read about fellow devs and decide if you'd like to work with them. If a match is found, a live chat will open so more details can be shared and a project can be done. The concept and UI are very lean so students are encouraged to act fast and take their projects seriously.
How I built it
We used Node.js/Express.js/MongoDB for the backend and HTML/Sass/EJS for the front-end. We also implemented libraries like Passport and Google OAuth 2.0 for secure login. Additionally, we had a big focus on ease-of-use UI so we heavily depended on Socket.io and EJS templates to create highly dynamic webpages.
Challenges I ran into
Our UI design was quite difficult to create without the help of a popular framework. A lot of our challenges came from the complicated Socket.io and EJS routing. Additionally, setting up MongoDB to work with every part of our app was quite time-consuming and hard to figure out.
Accomplishments that I'm proud of
We implemented some very complex business logic, authentication, and routing that added up to 1000+ lines of code! As a team, we were very fluid and able to accomplish task after task with minimal downtime. Despite working for all 24 hours, our team was able to stay persistent, productive, and playful. That fact that we were able to build a full-stack social site in 1 day is an accomplishment we are very proud of!
What I learned
We learned TONS about EJS templates, Socket.io routing, implementing MongoDB/Mongoose, and user authentication. Through this project, we highly improved our teamwork, researching, and problem-solving skills as well.
What's next for DevLink
We would like to continue development for the sake of learning and experience. We also think that it would be a great tool for Freshman and Sophomore students to gain great programming experience with their peers early on. There is a good chance we will apply to the Aggie Coding Club to continue with a larger team!
Our future goals are to clean up the UI (possibly using a front-end framework), Add a live chat feature for when you are matched up with a fellow developer, and implement a better connection system and matching algorithm