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

[Feature Request]: Implement a Reverse Job Board for Dev Edmonton Society #357

Open
amendez opened this issue Jun 24, 2024 · 0 comments
Open

Comments

@amendez
Copy link

amendez commented Jun 24, 2024

Description:
The idea is to create a reverse job board similar to what TampaDevs have for their community. This board will allow local developers to create profiles and enable local companies to find them. The project aims to leverage the existing Dev Edmonton Society infrastructure, minimizing the need for additional backend services and databases.

Goals:

  1. Enable local developers to create and manage profiles via GitHub pull requests.
  2. Allow local companies to search and filter profiles based on various criteria.
  3. Minimize maintenance by avoiding complex backend setups and databases.

Proposed MVP:

  1. Profile Creation:
    • Each interested developer will create a PR to the Dev Edmonton Society repository.
    • The PR will add a new JSON file in a specific folder, reducing the chances of conflicts.
    • JSON fields will include: name, technologies, part/full-time availability, seniority, title, description (Markdown format), badges, and photo URL.
  2. Serverless Functionality:
    • Utilize Netlify functions to read all JSON files from the folder and compile them into a single JSON file.
    • This compiled JSON will be served to the frontend, acting as an API.
  3. Frontend Integration:
    • Reuse the existing Nuxt.js frontend to display profiles.
    • Implement basic filtering options based on the JSON fields.
  4. Profile Review Process:
    • Review PRs to ensure correct usage of badges and validate information.
    • Potential for future automation or community involvement in the review process.
  5. Future Enhancements:
    • Companies registration system for additional functionalities (e.g., accessing profiles, sponsorship opportunities).
    • Explore options for student involvement from local institutions like UAlberta or NAIT.

Implementation Steps:

  1. Repository Setup:
    • Use the existing Dev Edmonton Society repository for this project.
    • Create a dedicated folder for profile JSON files.
  2. JSON Schema Definition:
    • Define the structure and required fields for the JSON profiles.
    • Create a template JSON file for contributors.
  3. Serverless Functions:
    • Develop a Netlify function to aggregate JSON files into a single JSON.
    • Ensure the function is triggered on changes to the profiles folder.
  4. Frontend Development:
    • Integrate the new API endpoint into the existing Nuxt.js frontend.
    • Implement filtering capabilities on the frontend.
  5. Documentation:
    • Write clear contribution guidelines for developers creating profiles.
    • Document the process for reviewing and merging PRs.
  6. Community Involvement:
    • Engage the community for feedback and involvement in the review process.
    • Consider partnerships with local educational institutions for project contributions.

Open Questions:

  1. Should the profile list be featured in the main navigation from the start, or added later once there are sufficient profiles?
  2. What additional fields or features would be valuable for local companies using the board?

Additional Notes:

  • This MVP avoids the need for a database or dedicated backend server, reducing maintenance overhead.
  • The project provides an opportunity for community engagement and learning through open-source contributions.
  • The badges system can be leveraged to incentivize contributions and maintain engagement.

Looking forward to your feedback and suggestions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants