Skip to content

Latest commit

 

History

History
85 lines (67 loc) · 4.22 KB

CONTRIBUTING.md

File metadata and controls

85 lines (67 loc) · 4.22 KB

Contributing

Setup | File Structure | Iteration Roadmap

If you're reading this document, we're really excited that you want to contribute to the project! All work on AthenaJS happens directly on GitHub. If you would like to contribute, please send a pull request to the dev branch. The following guide has some useful information, so we highly recommend you take a look at it before getting started!

Code of Conduct

We expect contributors to adhere to our code of conduct. Please read the full text so that you can understand what actions are expected of contributors to the project.

Not sure where to start?


Setup

If you want to contribute to AthenaJS, the first step is to fork and clone the repository to your local machine. Once you've cloned it, navigate to the "electron-react" folder and run "npm run dev" to start up the application after installing the dependencies. This will allow you to begin making changes and testing your code.

git clone https://github.com/oslabs-beta/Athena.git
cd Athena/electron-react

Then you can run:

npm run dev

Which will spin up the application on your local machine. AthenaJS uses Vite for an enhanced development experience with really fast HMR. Any changes you make to the codebase on your local machine will be quickly reflected on your running instance of AthenaJS!

File Structure

  • Electron React (Root Directory for AthenaJS Project)
    • Electron (Electron)
      • Main (Electron-main)
      • Preload (Pre-load scripts)
    • src (React)
      • Index.tsx (Hangs app off of root and wraps app in context providers)
      • App.tsx
      • Pages
        • UI Page
        • Workshop
      • Components
        • Components are grouped by category
          • Accompanying tests should be placed in a test folder next to the components they are unit testing
          • Files containing TypeScript Types used for components are located in the same category folder as the components

Iteration Roadmap

Not sure what contribution you want to make? Here are a few starting points:

  1. Add unit tests with Jest. We are continually adding unit tests for components in order to enhance the quality and reliability of the codebase. - If you notice tests are missing for a component, we welcome additions to the testing ecosystem of AthenaJS! - If you make a pull request with a new component, consider adding an accompanying test file
  2. Adding support for class components
  3. Adding support for components written in TypeScript
  4. Adding Tailwind CSS support for styling components

License

By contributing to AthenaJS, you agree that your contributions will be licensed under its MIT license.