• This repository has been archived on 10/Feb/2022
  • Stars
    star
    229
  • Rank 168,905 (Top 4 %)
  • Language
    JavaScript
  • License
    BSD 2-Clause "Sim...
  • Created almost 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Awesome Learning - Learn JavaScript and Front-End Fundamentals at your own pace

Awesome Learning

Awesome Learning is a Front-end focused learning platform created by current and former members of Wayfair Engineering.

Check out the site

Project Status

Awesome Learning has now been put into maintenance mode (as of 6/15/2021). Courses will be available to take, but non-critical fixes won't be made to this project.

Quick Start

Working With Our Repo

  1. Fork the Awesome Learning Repo
  2. Clone your fork to your local directory
  3. Navigate into the local directory
  4. Install dependencies
yarn

Starting Awesome Learning

Navigate into your new site's directory and start it up.

yarn develop

Open the source code and start editing!

Your site is now running at http://localhost:8000!

Note: You'll also see a second link: http://localhost:8000/___graphql. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the Gatsby tutorial.

Running Tests

While you are developing, we recommend watching the test suite. Open up another terminal in the site directory and run

yarn test

Running storybook locally

yarn storybook

Then open http://localhost:6006 on your browser. For more information visit React Storybook repo.

Project Structure

Awesome Learning is powered by two repositories, this one and our exercises repo.

This Repo

This is a Gatsby.js powered static site. We use GraphQL as our data layer (see Gatsby GraphQL), React for our components, co-located SCSS for our styling, and Jest/React Testing Library for our automated tests.

The Exercises Repo

The exercises repo holds the courses and lessons that power the exercise portions of each lesson. You do not need to pull down the exercises repo in order to contribute to Awesome Learning. The exercises repo acts as a target for a CodeSandbox.io API which pulls down the files and creates an exercise CodeSandbox on the fly. For more information on how that works, check out importing from git and the exercises repo readme.

If you are interested in fixing exercise content, and/or contributing content, please checkout the exercises repo and we help you out from there.

What is Awesome Learning?

This platform features a series of courses designed to help you thoroughly learn technical topics. Some of our courses include Frontend Testing, JavaScript Data Types, and JavaScript Array Methods. Each course contains multiple lessons designed to teach one aspect of the course topic. A lesson has pre-read materials, learning materials, pre-read quizzes, and hands-on exercises.

How Does it Work?

Small groups of like-minded engineers gather together in a room or virtually,typically once a week, and run through Awesome Learning lessons. Learning materials and pre-read quizzes are done before starting the lesson so everyone is on the same page and held accountable.

The group then works through the exercises in a group-programming format, discusses issues and patterns that arise from the exercises, and researches solutions together. The group continues meeting until all lessons are complete, then picks their next course to start.

Because pre-reads, learning materials, and quizzes are done before the start of the in-person group session, the group session should typically take about an hour to get through the exercises.

Why Awesome Learning?

There are countless learning platforms out there. Just type "learn javascript" into google and you will find a bunch of platforms. Many of them follow similar patterns, and all of them are done solo. In fact, our entire industry tends to favor individuals watching videos, reading docs, and doing exercises by themselves to learn new technology.

There's one small problem - software development is a team effort.

A huge part of our jobs is communication, working together, and being able to explain complex problems in a simple way. Awesome Learning provides the same level of technical education, but does so in a group setting. Over the almost 2 years we have been running Awesome Learning and sitting in on lessons, we've seen much stronger growth and longer lasting results because of the small group environment.

Groups experience higher levels of camaraderie, build expert mental models around subject matter, and learn how to communicate better via group programming. Some folks use their Awesome Learning sessions as a way to practice their soft skills without the pressure of tickets and deadlines.

Credits

Credit to the original author of this fork - the Gatsby Lumen Starter. https://github.com/alxshelepenok/gatsby-starter-lumen

More Repositories

1

brickkit-ios

DEPRECATED - BrickKit For IOS
Swift
603
star
2

panel-layout

Panel Layout is a UI library for Android that allows you to display a floating and resizable panel that can also snap to the edges.
Kotlin
248
star
3

tungstenjs

Tungsten.js is a modular framework for creating web UIs with high-performance rendering on both server and client.
JavaScript
213
star
4

terrafirma

A static analysis tool for Terraform plans.
Python
45
star
5

todomvrxdatabinding

Android Architecture based on MvRx and Data binding
Kotlin
34
star
6

prelude

Swift
33
star
7

kombucha

API snapshot testing
Swift
24
star
8

jaeger-swift

Jaeger/OpenTracing implementation for Swift
Swift
18
star
9

awesome-learning-exercises

Awesome Learning Exercises - the source code for the Awesome Learning platform.
JavaScript
15
star
10

redux-ledger

⭐ Async Redux Testing Middleware
JavaScript
11
star
11

react-boston

JavaScript
10
star
12

flask_semantic_image_search

A simple and fast image search engine using convolutional neural networks. Quickly spin up a microservice with your own model and/or images using our Docker images.
Python
10
star
13

tesla

Multi threaded, incremental, batch based data replication tool which is built with heterogeneous sources and destinations in mind.
C#
9
star
14

gists

because you can't create gists as an organization
Jupyter Notebook
8
star
15

sp-phpunit

Shell
8
star
16

statsd-plugins

Collection of plugins for statsd
Python
7
star
17

fasttext-keras

Python implementation for the FastText model implementation developed by Facebook.
Cython
6
star
18

eggsnspam

Python
5
star
19

fixing-fixed-headers

JavaScript
4
star
20

useAccessibleBlockLink

A reusable react hook that preserves a components semantic accessibility to create a visual block link. Supports multiple links within the same block.
TypeScript
4
star
21

pure-ftpd-getvirtualdirs

C
3
star
22

nofollow_highlighter

Nofollow link highlighter extension for Google Chrome
JavaScript
2
star
23

drupal-vulnscan

PHP
2
star
24

Graylog2-GroupBy

Provide something similar to a group by functionality for graylog2
PHP
2
star
25

exchange-mailbox-export

PowerShell
1
star
26

memcache

Fork of https://git.php.net/repository/pecl/caching/memcache.git
C
1
star
27

foxdie

Repository cleaning tool for branches and pull requests
Rust
1
star