Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Open Source Sorting Hat: Magical Recommendation Engine for Open Source Enthusiasts #3310

Open
DonnieBLT opened this issue Feb 1, 2025 · 4 comments · May be fixed by #3318
Open

✨ Open Source Sorting Hat: Magical Recommendation Engine for Open Source Enthusiasts #3310

DonnieBLT opened this issue Feb 1, 2025 · 4 comments · May be fixed by #3318
Assignees

Comments

@DonnieBLT
Copy link
Collaborator

We propose building an “Open Source Sorting Hat” that helps developers discover their ideal open source engagement opportunities. The idea is inspired by the magical world of Harry Potter: when a user enters their GitHub username, the system will analyze their profile and interests to deliver a personalized, enchanting interface that suggests:
• Open Source Projects: Projects where the user’s skills and contributions can make a significant impact.
• Communities to Join: Developer communities, forums, or local meetups tailored to the user’s interests.
• Events to Attend: Conferences, hackathons, webinars, and workshops related to their tech stack.
• Chat Rooms to Join: Real-time discussion channels (e.g., Slack, Discord) where developers collaborate.
• Socials to Follow: Influential Twitter accounts, LinkedIn groups, or other social media communities.
• Blogs to Subscribe: Technical blogs and newsletters that align with their interests.

Additional 10 Similar Concepts:
1. Podcasts: Curated lists of tech podcasts and interviews to listen to.
2. Newsletters: Subscriptions to weekly/monthly newsletters on open source trends and tips.
3. Code Challenges: Recommendations for coding challenge platforms or competitions.
4. Tutorials: Video or written tutorials to learn new technologies or contribute to projects.
5. Mentorship Programs: Pairing with experienced mentors in the open source community.
6. Local Meetups: Suggestions for in-person or virtual meetups and networking events.
7. Hackathons: Information on upcoming hackathons and coding marathons.
8. Q&A Forums: Links to communities like Stack Overflow, Reddit, or specialized forums.
9. Technical Conferences: Invitations to join larger, formal conferences in the tech ecosystem.
10. Open Source Marketplaces: Platforms where users can find gigs or bounties related to open source work.

Project Requirements:
• User Input:
• A simple web form where users enter their GitHub username.
• Backend Processing:
• Integration with the GitHub API to pull relevant user data (repositories, contributions, etc.).
• An AI/ML component (or rule-based system) that analyzes the user profile and generates recommendations.
• Magical Interface:
• A whimsical and engaging UI/UX that mirrors a “magical” sorting experience.
• Dynamic sections for each recommendation category (projects, communities, events, etc.).
• Extensibility:
• The system should be built in a modular way so that new recommendation categories (from the 10 extra ideas) can be added easily.
• Technology Stack:
• Backend: Django (for the core application logic and API integration).
• Frontend: Django templates with modern JavaScript (or optionally a SPA framework) to deliver dynamic content.
• Database: PostgreSQL (or any other robust DB) to store user session data and recommendation history.
• Documentation:
• Clear documentation on how to set up the project, including API keys configuration for GitHub and any other external services.
• Testing:
• Unit tests and integration tests for the main features (user input, API integration, and recommendation generation).

Acceptance Criteria:
• A user can input their GitHub username and see a personalized “magical” recommendation page.
• The recommendations for each category are generated dynamically based on real data and pre-defined rules.
• The UI is engaging and clearly indicates different categories with distinct sections.
• The project is modular, with clean separation between data collection (API calls), processing (AI/recommendation logic), and presentation (frontend).
• Documentation and tests are provided.

Prompt for a Coding AI Agent (Django Project):

You are tasked with building a Django web application called "Open Source Sorting Hat." The application should allow users to enter their GitHub username and then display a personalized, magical interface with recommendations. The recommendations include:

  1. Open Source Projects to contribute to.
  2. Developer Communities to join.
  3. Events (conferences, hackathons, webinars) to attend.
  4. Chat Rooms (e.g., Slack, Discord channels) to join.
  5. Social Media profiles (Twitter, LinkedIn) to follow.
  6. Blogs and Newsletters to subscribe to.
  7. Additional recommendations including:
    • Tech Podcasts
    • Coding Challenge platforms
    • Tutorials
    • Mentorship Programs
    • Local Meetups
    • Hackathons
    • Q&A Forums
    • Technical Conferences
    • Open Source Marketplaces

Your Django application should have:

  • A form on the homepage where users enter their GitHub username.
  • Backend integration with the GitHub API to fetch user data.
  • A recommendation engine that analyzes the GitHub data and selects suitable recommendations for each category.
  • A whimsical, magical UI with distinct sections for each recommendation category.
  • Modular code that cleanly separates concerns (views, models, recommendation logic, API integrations).
  • Unit tests and documentation for setting up the project.

Please scaffold the project structure, create necessary models, views, and templates, and implement at least a basic version of the recommendation engine. The project should be runnable with standard Django commands, and external service API keys should be configurable through environment variables.

@SahilDhillon21
Copy link
Contributor

/assign

Copy link
Contributor

github-actions bot commented Feb 1, 2025

Hello @SahilDhillon21! You've been assigned to OWASP-BLT/BLT issue #3310. You have 24 hours to complete a pull request.

@SahilDhillon21
Copy link
Contributor

This has to be created as a separate app within the same blt project right?

@DonnieBLT
Copy link
Collaborator Author

It can be the same website app with a different view file and model file if needed

@SahilDhillon21 SahilDhillon21 linked a pull request Feb 1, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

Successfully merging a pull request may close this issue.

2 participants