Building DevLink: A Collaborative Software Engineering Journey at UNC Charlotte
Dec 8, 2024
4 min read
Introduction
As a senior Computer Science student at the University of North Carolina at Charlotte (UNCC), I’ve spent the past semester working on a dynamic software engineering project called DevLink. This endeavor was part of a team-based assignment in my Software Engineering class, where we followed the full Software Development Life Cycle (SDLC) using Agile methodologies—planning sprints, iterating on features, and ensuring continuous integration. Along the way, I embraced the role of lead developer, managed both the front-end and back-end, integrated modern technologies, and witnessed firsthand how effective collaboration and version control can shape a production-ready application.
The Vision Behind DevLink
DevLink is a social platform designed for developers, particularly those at UNCC’s College of Computing and Informatics (CCI), to connect, collaborate, and grow. We wanted to create a hub where students could discover peer-created projects, showcase their own work, and find like-minded developers to collaborate with. The core idea: Build a community that fosters academic and professional growth by removing the barriers to developer-to-developer collaboration.
Key Features & Technical Highlights
Agile SDLC & Sprints:Â Our team of four students leveraged Agile project management, planning out incremental sprints, holding regular stand-ups, and using user stories to drive development priorities.
Front-End & Back-End Implementation: As the lead developer, I spearheaded the core functionality—implementing both the Django back-end and a responsive front-end with intuitive navigation, real-time messaging, and an engaging landing page.
Google Authentication & Django Auth: Security and ease-of-use were paramount. We integrated Google Sign-In and Django’s built-in authentication to ensure a seamless login/signup process.
Real-Time Messaging:Â By adding instant messaging, we encouraged open communication between users. This helped developers quickly connect with prospective collaborators.
GitHub Integration & Media Management:Â Users can link their GitHub profiles and projects directly through the platform. We also utilized Cloudinary for efficient media storage.
PWA Conversion & Railway Deployment:Â Converting DevLink into a Progressive Web App (PWA) allowed users to enjoy a native app-like experience. We deployed the application on Railway for reliable hosting and continuous delivery.
PostgreSQL & Performance:Â We chose PostgreSQL for robust data handling and scalable performance, ensuring that as our community grows, our database can handle it.
Challenges & Lessons Learned
Version Control Mastery: Using GitHub as our central repository taught us how crucial proper version control is. At one point, a collaborator’s code change caused the deployment to fail. Instead of panicking, we leveraged Git history to revert the problematic commit and quickly restored functionality—an invaluable real-world lesson in effective DevOps practices.
Team Communication & Collaboration:Â Working with a team of four meant constant communication. While I led the development, my teammates excelled at bug hunting, testing, and suggesting UI improvements. This cohesive environment helped us stay agile and meet our sprint goals.
Iterative Improvement:Â The project evolved throughout the semester. We began with a basic MVP, then introduced new features sprint-by-sprint, like the real-time messaging, improved user profile management, and AI-driven enhancements planned for future iterations.
Learning Beyond the Classroom:Â Beyond coding, this project provided insights into project management, stakeholder feedback, continuous integration, and deployment. It taught me how to handle unexpected setbacks, communicate with non-technical stakeholders, and think strategically about long-term scalability.
Next Steps: Capstone & AI Integration
DevLink is more than a classroom assignment; it’s a platform we hope to continue refining. Along with another student from our software engineering team, I am currently working on transforming this project into a formal capstone course at UNCC. Our goal is to incorporate AI-driven features, such as intelligent project recommendations based on user profiles and skills. This will elevate DevLink to a smarter, more tailored experience and underscore the platform’s role as a central hub for developer growth within and beyond our campus community.
Why DevLink Matters for UNCC Students
Networking & Portfolio Building:Â DevLink is poised to become a crucial tool in helping students build a meaningful portfolio of work, fostering connections that can lead to internships and full-time roles in tech.
Knowledge Sharing & Mentorship:Â By creating a space to share projects, experiences, and advice, we hope to cultivate a rich knowledge exchange among peers, reinforcing the UNCC spirit of community learning.
SEO Keywords to Find Us:Â UNC Charlotte Computer Science, Software Engineering at UNCC, Agile SDLC, Django web application, Railway hosting, Real-time messaging, Google Authentication, GitHub integration, PWA, Cloudinary media management, collaborative developer platform.
Conclusion
Working on DevLink has not only strengthened my technical skill set—ranging from back-end programming and front-end design to CI/CD and GitHub workflows—but has also taught me invaluable lessons in teamwork, project planning, and adaptability. As we continue to enhance DevLink and pursue our capstone vision, I am excited about the future of this platform and its potential to empower the next generation of UNCC developers.
Get Involved with DevLink Today!
Check out the GitHub repository for a detailed landing page, a video presentation, and more information on how you can start connecting, collaborating, and building your developer portfolio. Join DevLink, embrace the power of community-driven development, and help us shape the future of student collaboration at UNC Charlotte.