Giter VIP home page Giter VIP logo

chrome-extension-opensauced's Introduction

Information

This should be a fun exercise.

OpenSauced

Company Logo

Company information

What is OpenSauced?

youtube intro video

99% of software is built with open source and the companies that know this have the secret sauce to scale teams and product quickly. Open-source unlocks opportunity in hiring, adoption, and product velocity and OpenSauced is the platform that connects open source to opportunity.

The open-source intelligence platform for finding the best developers and scaling engineering teams. Unlock the power of open-source with insights by the slice.

Why participate in an Octernship with OpenSauced

Brian Douglas, your lead, is the founder and CEO of Open Sauced where he works on increasing the knowledge and insights of open-source communities. In the past he’s lead Developer Advocacy at GitHub by fostering a community of early adopters through content creation showcasing the newest Github features.

Brian has a passion for open-source and loves mentoring new contributors through Open Sauced, the platform that empowers the best developers to work in open-source. He has mentored countless devs into their first or next role as an engineers.

Today OpenSauced is a small team of 5 mostly engineers, that are working on the goal of turning open source into opportunity.

Octernship role description

The Octernship role for OpenSauced will be working with the OpenSauced API and to explore new ways to engage developers where they are, on GitHub. The application will explore your ability to leverage code to build a browser extension using JavaScript or TypeScript (your choice) that connects OpenSauced to GitHub.

This will be the first step of your work for the next 6 months building out small features within the extension. You will work with Sr. Engineers and a Designer that will help build out your day to day work.

We are seeking an intern developer work alongside our rapidly growing company. In this role, you will help build out features and solutions to meet the needs of our OpenSauced users and community. This role will an integral part of our development team and documentation processes.

Key Responsibilities:

  • Building features for the browser extension
  • Building reusable UI components using our existing the design system
  • Building interactions to communicate with with GitHub and our API
  • Participate in design and engineering reviews to provide feedback during team meetings
  • Monitor application performance
  • Provide solutions to various solutions based on complexity and tradeoffs.

Recommended qualifications

Desired Skills:

  • Strong proficiency in React, Next.JS, and Tailwind
  • Familiarity with general backend APIs
  • Strong proficiency in HTML, CSS, JavaScript
  • Proficiency in TypeScript

Bonus Skills?:

  • Familiarity with the GitHub API
  • Familiarity with backend APIs such as NestJS with Swagger

Eligibility

To participate, you must be:

  • A verified student on Global Campus

  • 18 years or older

  • Active contributor on GitHub (monthly)

  • Ability to work overlap US hours (at least 4 hours within the 7am-12pm PT timeframe)

Assignment

Create browser extension that connects api.opensauced.pizza to a github.com profile.

Task instructions

  1. Create an OpenSauced account by connecting your GitHub to opensauced.pizza
  2. Generate a vite powered browser extension using the CRXJS guide. Note there are two versions, vite@3 is in beta but both will work fine for this assignment. You can also leverage this DEV post and the projects GitHub Discussion for additional help. This project is an open book assignment, so google as much as you'd like.
  3. Connect your localhost power extension to your browser. You should not be deploying this to production or any browser store.
  4. Write a function that validates if an OpenSauced user account exists (using the OpenSauced API) for a GitHub user profile while viewing them on github.com.

The final solution should only show a button if the GitHub user profile if the GitHub user is signed up for OpenSauced.

Screen Shot 2023-03-04 at 2 27 39 PM

API example:

When viewing bdougie you will check his handle using the users service in api.opensauced.pizza to confirm he is an OpenSauced user. When checking bdougie you will confirm he is not an OpenSauced user.

https://api.opensauced.pizza/v1/users/defunkt // returns 200
https://api.opensauced.pizza/v1/users/defunkt // return 404

Things to consider:

  1. You can leverage the extension's popup to test the API by replace the Vite boilerplate.
  2. Limit this extension to only work on github.com profile pages. hint: the project will default to google.com, you will need to change that.
  3. Adding a button can be done using React, Vue, HTMl, what you prefer. The button should actually link to the OpenSauced profile if it exists.

Task Expectations

Expectation is your extension only works when the user is on GitHub and can interact with the page. This interaction is to add a button that links to the users profile.

  • If there is missing documentation for OpenSauced, a contribution or open issue to the docs repository is expected.
  • If you are blocked longer than 2-3 hours, ask in the Discussions. Linking errors messages or StackOverflow questions is the preferred way to provide context when asking for help.
  • To better understand the OpenSauced, join the Discord Community.

Task submission

Students are expected to use the GitHub Flow when working on their project.

  1. Creating a new branch
  2. Making changes on the new branch to complete the task
  3. Using the auto generated Feedback Pull Request for review and submission
  4. Using GitHub Discussions to ask any relevant questions regarding the project

Resources

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.