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 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!