Project Connectra

·

5 min read

Building Connectra: A Social Media Platform for Skill Exchange

Connectra is more than just an app; it’s a solution to a problem many of us face in today’s world - learning new skills without burning a hole in our pockets. Imagine a world where students and professionals alike can exchange their knowledge and expertise without expensive course fees. With Connectra, I’ve turned this idea into reality. This blog dives deep into my journey of building Connectra, the features it offers, the challenges I overcame, and how it shaped me as a developer.

The Vision Behind Connectra

In an era where learning a new skill can cost thousands or even lakhs of rupees, I wanted to create a platform where people could connect with others to learn and teach skills. The idea is simple yet powerful: find someone proficient in a skill you’re interested in, learn from them, and in return, teach them a skill you excel in. Connectra bridges the gap between learners and teachers, fostering a community of knowledge-sharing and collaboration.

My Journey: From Beginner to Creator

When I started this project four months ago, I knew almost nothing about Android development. The journey from knowing little to building an entire application by myself has been nothing short of transformative. Every feature, every screen, every bug taught me something new. Connectra isn’t just an app; it’s a testament to my growth as a developer.

Features of Connectra

1. Registration and Authentication

To begin your journey on Connectra, users must register an account. The authentication is powered by Firebase, ensuring a seamless and secure sign-in experience. Once registered, users can start exploring the app and connecting with others.

2. Home Section: Discover Profiles

The Home section is where the magic begins. Here, you can find random profiles of people on the platform. Each profile offers detailed information, including:

  • Profile Picture

  • Name and Username

  • Bio

  • Age and Gender

  • Skillsets

  • Certifications in Their Skills

Interacting with Profiles

  • Rating System: Users can rate each other based on their experience. This helps others decide whom to learn from.

  • Messaging: Directly message users to initiate conversations. Push notifications ensure users never miss a message, even if the app isn’t open.

  • Learning Sessions: After discussions, you can switch to platforms like Meet or Zoom for interactive learning sessions.

3. Search Section: Find Skills

The Search section lets users find people by the skills they want to learn. The rating system plays a crucial role here, allowing users to filter and choose among multiple profiles with the same skill set. This ensures that learners connect with the best possible mentors.

4. Schedule Section: Organize Your Learning

This section doubles as a to-do list and calendar app, allowing users to manage their learning schedules effectively.

  • Features:

    • Assign tasks to specific dates.

    • Delete tasks when completed or no longer needed.

    • Cloud storage powered by Firebase ensures tasks are saved and synchronized across devices in real-time.

5. Profile Section: Personalize Your Identity

In the Profile section, users can:

  • Upload a profile picture.

  • Update their skillsets and certifications.

  • Set a bio to introduce themselves.

This section is all about showcasing your unique expertise and personality to others.

Technical Details

Technology Stack

  • Frontend: XML for designing a clean and intuitive user interface.

  • Backend: Java for robust and efficient app logic.

  • Firebase:

    • Authentication

    • Realtime Database

    • Storage

Dependencies Used

  • Glide: For smooth loading and caching of profile images.

  • CircularImageView: To enhance the visual appeal of profile pictures.

Connectra (Admin Version)

In addition to the Connectra app, I also developed a dedicated admin application. This admin app serves as a control center for managing the real-time database connected to the primary app. Here's what makes it special:

  1. Real-Time Control:

    • The admin app uses a ValueEventListener that continuously monitors a boolean value called isActive, stored under the detonator branch in the database.

    • When isActive is set to true, the user-facing app behaves normally. However, when switched to false, the app triggers a popup (like the one shown in the second image), notifying users that the app is under maintenance - regardless of which page they are on.

  2. User Management:

    • The admin app includes a search feature to locate specific users by skill or email.

    • If a user exhibits inappropriate behavior or violates guidelines, the admin can delete their account entirely with a single tap.

  3. Seamless Integration:

    • Both the admin app and Connectra share the same Firebase database, ensuring real-time synchronization and streamlined operations.

By creating this admin panel, I ensured robust backend control, providing an extra layer of functionality to manage the Connectra platform efficiently.

Overcoming Challenges

1. Firebase Storage Costs

When Firebase introduced its new policy, storage was no longer free. To minimize expenses, I used my friend’s Firebase project for storage while leveraging my Firebase project for authentication and Realtime Database. I even wrote a dedicated blog on how I achieved this workaround.

2. Learning Curve

Starting with minimal knowledge of Android development, every step required learning - from integrating Firebase to managing push notifications. AI tools were instrumental in guiding me through challenges, but hands-on debugging and perseverance played a crucial role.

Lessons Learned

  • Time Management: Balancing feature development with learning was challenging but rewarding.

  • Problem-Solving: Encountering and resolving technical issues enhanced my analytical skills.

  • Self-Reliance: Building an entire project solo taught me to trust my instincts and abilities.

Why Connectra Matters

Connectra isn’t just another app, it’s a platform that democratizes learning. By connecting people based on mutual interests and skills, it eliminates the financial barriers to education. In doing so, it creates a community where knowledge is shared freely, and learning is accessible to everyone.

Conclusion

Building Connectra has been a journey of growth, learning, and innovation. From conceptualizing the idea to implementing features and overcoming challenges, every step has added to my experience as a developer. Connectra stands as proof of what’s possible with determination and a passion for solving real-world problems.

If you’re looking for a platform to exchange skills, Connectra is here for you.