As developers, building projects is a crucial part to learning and showcasing technical skills in action. Working individually is nice, but working in a team will further help in improving collaborative and communication skills that are needed in real world settings. But where can we find teammates to work with? Who should we work with? How do we even get started? Those are the questions that DevUp strives to solve.

What it does

DevUp is a platform to help developers find teammates for side projects. Developers can search for projects that they are interested in, and contact the current team members of the project to learn more about them and join their team. Developers that already have an project idea can make a post on DevUp to display it to other seeking developers and find new team members.

How we built it

The web application was built using a Flask backend written in Python, and a React frontend written in JavaScript. We used a PostgreSQL database to store data about the users and their projects.

The web application was then deployed using Docker containers on an AWS EC2 Instance. CI/CD was implemented using GitHub Actions and monitoring was done using cAdvisor, Grafana, and Prometheus. Testing was done on both the frontend and backend.

Challenges we ran into

  • Running out of memory on a T2 Micro Instance --> Pulling Docker images we created and pushed to Github Package repository for deployment and also getting permissions to expand to a T2 Small instance
  • Merge conflicts when working with teammates --> Learned to debug, use GitHub Issues and Projects so everyone is clear on what we're each working on
  • Bugs/errors that were hard to solve --> Had debugging sessions when meeting as a team after standup

Accomplishments that we're proud of

  • Building an end to end, dynamic, fully functional web application with the ability to create, read, update, and delete project posts, login/register with authentication, and contact other users through the website via email
  • Applying Production Engineering skills learned through the Fellowship to use services, containerization, CI/CD, monitoring, and testing

What we learned

  • How to use Grafana and Prometheus to monitor our website
  • How to dockerize an application with an API and client
  • How to do testing with React
  • How to connect frontend and backend
  • Test an API using Postman and Newman

What's next for DevUp

We plan on sharing DevUp online so that developers can post about their project ideas and look for teammates! Some of the other features that we are thinking of adding in the future include:

  • The ability to view other users' profile page
  • Email confirmation when registering for an account
  • Recommendation system for projects when we get enough users!

Built With

Share this project: