|
1 |
| -World-of-Code |
2 |
| - |
3 |
| -What is it? |
4 |
| -Simply put it is a chrome extension |
5 |
| - |
6 |
| -Goal |
7 |
| -Provide an easy and friendly experience for teachers to produce coding content that students can watch and follow along with. |
8 |
| - |
9 |
| -Contribution guide |
10 |
| - |
11 |
| -Make an issue (or multiple issues) |
12 |
| -Merge master into the branch before Pull Request to make sure that there are NO conflicts |
13 |
| -Make a Pull Request that references that issue |
14 |
| -Get it code reviewed by someone on the team, address any comments |
15 |
| -Merge into master (with merge commit) |
16 |
| -Code style guide |
17 |
| - |
18 |
| -Linting! |
19 |
| -Pay attention to the linter! |
20 |
| -Use semicolons |
21 |
| -const or let over var |
22 |
| -Use require and module.exports in .js files |
23 |
| -Use import and export in .jsx files |
24 |
| -Put import statements at top |
25 |
| -Put the default export at bottom |
26 |
| -Consider splitting up any file larger than 100 lines |
27 |
| -Name files using lowercase-and-dashes instead of camelCase or PascalCase, except for when the default export is a class, then use PascalCase |
28 |
| -Define react components as pure functions (instead of classes) whenever possible |
29 |
| - |
30 |
| -Technologies |
31 |
| -Postgres |
| 1 | +# > CodeMode |
| 2 | + |
| 3 | +## CodeMode overview |
| 4 | + |
| 5 | +CodeMode is a Google Chrome extension that turns any Youtube coding tutorial into an interactive learning platform. Activate CodeMode by [installing the extension on the Chrome Web Store](https://chrome.google.com/webstore/detail/code-mode/lojikgkcpdeolbgbfcapfpfhofkocnge). |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +### Why CodeMode? |
| 10 | + |
| 11 | +Youtube has invaluable educational videos and active communities of content creators and students. Unfortunately, for those students ot practice what they're learning, they have to find the video's sample code somewhere else on the web (if the content creator has made it available), open a separate tab or program to work, and constantly switch between these windows in order to follow along. |
| 12 | + |
| 13 | +CodeMode simplifies this process and **makes practice easier**. |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +### How does it work? |
| 18 | + |
| 19 | +CodeMode dramatically simplifies the process of coding along to Youtube videos by adding a drawer to the bottom of the video's page. Users can toggle this drawer open and code inside of its code editor. CodeMode keeps track of questions assigned to individual videos so viewers can practice the skills they are learning without having to leave the page. Finally, content creators can contribute to the videos and questions in the CodeMode database. |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +### Learn more |
| 24 | + |
| 25 | +You can [view the CodeMode product demo on Youtube](https://youtube.com/watch?v=H9oYe_8Ks9M) to learn more about how we created CodeMode. |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | +# For developers |
| 31 | + |
| 32 | +## How to run CodeMode locally |
| 33 | + |
| 34 | +- Open your terminal window, navigate to your desired directory, and type the following: |
| 35 | +```bs |
| 36 | +> git clone [email protected]:World-of-Code/code-mode.git |
| 37 | +> cd code-mode |
| 38 | +> yarn |
| 39 | +> yarn run start-dev |
| 40 | +``` |
| 41 | +- Open up Chrome and go to `chrome://extensions`. |
| 42 | +- Make sure the 'Developer Mode' checkbox is on |
| 43 | +- Click 'Load unpacked extension...' |
| 44 | +- Navigate to the folder with CodeMode's `manifest.json` file and click 'Select' |
| 45 | +- Now you should be able to navigate to [any Youtube video](https://www.youtube.com/watch?v=H9oYe_8Ks9M) and see the CodeMode drawer at the bottom of the page! |
| 46 | + |
| 47 | +## Known issues |
| 48 | + |
| 49 | +- When multiple Youtube videos are open in separate tabs, CodeMode forces each page to reload continuously. |
| 50 | + |
| 51 | +## Contribution guide |
| 52 | + |
| 53 | +- Make an issue (or multiple issues) |
| 54 | +- Merge master into the branch before Pull Request to make sure that there are NO conflicts |
| 55 | +- Make a Pull Request that references that issue |
| 56 | +- Get it code reviewed by someone on the team, address any comments |
| 57 | +- Merge into master (with merge commit) |
| 58 | + |
| 59 | +## Style guide |
| 60 | + |
| 61 | +- Pay attention to the linter |
| 62 | +- Do not use semicolons |
| 63 | +- use `const` or `let` over `var` |
| 64 | +- Use `require` and `module.exports` in .js files |
| 65 | +- Use `import` and `export` in .jsx files |
| 66 | +- Put `import` statements at top |
| 67 | +- Put the `default export` at bottom |
| 68 | +- Consider splitting up any file larger than 100 lines |
| 69 | +- Name files using lowercase-and-dashes instead of camelCase or PascalCase, except for when the default export is a class |
| 70 | +- Define React components as pure functions (instead of classes) whenever possible |
| 71 | + |
| 72 | +## Technologies |
| 73 | + |
| 74 | +React |
| 75 | +Redux |
| 76 | +PostgreSQL |
32 | 77 | Express
|
33 | 78 | Node
|
34 | 79 | Mocha/Chai
|
| 80 | + |
| 81 | +## Acknowledgements |
| 82 | + |
| 83 | +**Made with ❤ by** |
| 84 | +- [Andrew Ziegler](https://github.com/apdjz), |
| 85 | +- [Kyle Uehlein](https://github.com/kuehlein), |
| 86 | +- [Mariel Werner](https://github.com/marielwerner), and |
| 87 | +- [Veekas Shrivastava](https://github.com/veekas). |
| 88 | + |
| 89 | +Special thanks to the team at [Fullstack Academy](https://github.com/fullstackacademy) for making this team and project possible. |
0 commit comments