Skip to content

Latest commit

 

History

History
121 lines (80 loc) · 4.47 KB

README.md

File metadata and controls

121 lines (80 loc) · 4.47 KB

AFOS (AfricanOpenSource)

AFOS is a CHAOSS Africa and Github collaboration created to demonstrate how GitHub CoPilot enhances and improves developer productivity. The project involved creating a platform for showcasing Open Source projects build by Africans.

The team created a web project using CoPilot to generate code suggestions in real time to detemine CoPilot's impact on developer productivity.

Main Objectives

  • To demonstrate how GitHub CoPilot enhances productivity and reduces time it takes to deliver projects.
  • To develop a story on how GitHub CoPilot makes a positive impact for social good.
  • To train developers on how to use GitHub CoPilot in their Open Source communities.

Project Set Up

We use the following tools and frameworks in this project:

  • Frontend Library: ReactJS
  • Type safety: TypeScript
  • CSS Framework: Tailwind CSS
  • Bundler/Build Tool: Vite
  • Test Runner: Vitest
  • Testing Framework: React Testing Library
  • Routing Implementation: React Router
  • Component Library: Shadcn/UI
  • Icon Pack: React icons

Installation

To run the project in a local environment, ensure the following are installed:

  • Nodejs
  • Npm

Setup Github Copilot (Optional)

GitHub Copilot is available as an extension for popular code editors such as Visual Studio Code. To install GitHub Copilot, follow these steps:

  • Open Visual Studio Code.
  • Go to the Extensions view by clicking on the square icon on the sidebar or pressing Ctrl+Shift+X (Windows/Linux) or Cmd+Shift+X (Mac).
  • Search for "GitHub Copilot" in the search bar.
  • Click on the "Install" button next to the GitHub Copilot extension.
  • Wait for the installation to complete, and then click on the "Reload" button to activate the extension.
  • Usage: Once GitHub Copilot is installed, it automatically starts providing code suggestions as you type in your code editor. It learns from millions of lines of public code and your own code to generate accurate and context-aware suggestions.

How to contribute to the project

  • Fix an Issue

If you want to fix an open issue, leave a comment on it to show. This is done to avoid having multiple people working on the same issue unknowingly.

  • Open an Issue

In the event that you're encountering an issue or have an inquiry you'd like assistance responding to, kindly go ahead and open an issue. To prevent duplicates, momentarily look through open issues. When opening an issue, ensure you provide a concise description with all relevant information. Source Code

  • Clone this project repository
git clone https://github.com/chaoss/AFOS-AfricanOpenSource.git
  • Change to the project directory
cd AFOS-AfricanOpenSource
  • Install the project dependencies
npm install
  • Create a branch for your work & changes.
git checkout -b my-new-branch
  • Make your changes
  • Run the project locally to test your changes
npm run dev
git add .
git commit -s -m "descriptive commit message"
git push -u origin my-new-branch
  • Submit a pull request

Upon submitting a pull request, one of the maintainers will review your pull request and give feedback on changes or merge your pull requested.

Keep in mind to regularly synchronize your fork with the main branch. To do this, make sure you are in the project's root folder, and the branch should be the main branch. Run the command:

git remote add upstream https://github.com/chaoss/AFOS-AfricanOpenSource.git

Now that your upstream is set up on your local machine, whenever you need to create a new branch to make changes, make sure your main branch is in sync with the main repository by typing:

git pull upstream main
git push origin main

Thank you for your contributions! We appreciate your time and effort in making this project better.

Resources

Contributing Guidelines

This project is open to the community and anyone can contribute to it. To contribute to this project, ensure to follow the guidelines found above and here.