Inspiration
I started OSConnect because I love open source projects and believe that having someone to guide you can make a big difference in learning and contributing to these projects.
What it does
OSConnect is a website that helps people who want to learn about open source software (mentees) connect with experienced contributors (mentors). It lets you log in with your GitHub account, find mentors, and keep track of your progress.
How we built it
We carefully selected a technology stack that enables us to create a robust and user-friendly platform for OSConnect:
- Front-end Development with Next.js: We built the user interface (UI) of OSConnect using Next.js.
- User Interface Design with Tailwind CSS: Tailwind CSS was our choice for designing the user interface. It's a utility-first CSS framework that helps us quickly style and structure the elements on our website.
- Database Management with MongoDB Atlas: MongoDB Atlas serves as the backbone of our platform's data storage. MongoDB is a NoSQL database that's highly scalable and efficient for handling user profiles, mentorship connections, and progress reports. Atlas is the cloud-based version of MongoDB, ensuring data reliability and accessibility.
- GitHub Authentication using NextAuth: To provide a secure and hassle-free login experience, we integrated GitHub authentication through NextAuth. This means users can log in to OSConnect using their GitHub accounts, ensuring the security of their credentials and allowing us to access GitHub data for profile enrichment.
- GitHub API Integration: We leveraged GitHub APIs to fetch user-specific open source data, such as repositories, contributions, and followers. This information is used to create personalized user profiles, showcase open source history, and match mentors and mentees based on their tech stacks.
- Matching Algorithm: Developing an effective mentor discovery tool required the implementation of a matching algorithm. This algorithm takes into account users' tech stacks and preferences to suggest suitable mentors, enhancing the mentorship experience.
Throughout the development process, we prioritized data security, performance, and a seamless user experience. OSConnect is a testament to the power of modern web development technologies and thoughtful design choices.
Challenges we ran into
- Limited Timeframe: Building a complete application from scratch within a short timeframe is a demanding task. It requires careful project management, prioritizing features, and maintaining a disciplined development schedule.
- Authentication Complexity: Handling authentication, especially when integrating with external services like GitHub, can be complex. As a solo developer, I had to tackle issues such as securely storing tokens, handling authentication flows, and managing user sessions all by myself.
- Codebase Maintenance: Maintaining a clean and organized codebase becomes critical for long-term sustainability. As a solo developer, I had to ensure that the code was well-documented, modular, and easy to understand, anticipating that I might be the sole contributor.
Accomplishments that we're proud of
I'm proud that I made it possible for people to easily log in with their GitHub accounts and find mentors who share their interests.
What I learned
Backend Development Proficiency: Developing the back-end of OSConnect provided me with valuable insights into server-side logic, routing, and API development. I gained expertise in creating endpoints that handle user authentication, mentor-mentee matching, and data retrieval from the database.
Database Management Skills: Managing MongoDB Atlas for data storage introduced me to the intricacies of NoSQL databases. I learned how to design database schemas, perform CRUD (Create, Read, Update, Delete) operations efficiently, and optimize database queries for scalability.
What's next for OSConnect
We want to make OSConnect even better! We plan to add features like chat, events, and ways to see your progress. We also want to make it work on phones. Our goal is to help as many people as possible get involved in open source projects.
Log in or sign up for Devpost to join the conversation.