DEV Community

Iain Freestone
Iain Freestone

Posted on • Originally published at iainfreestone.com

🚀10 Trending projects on GitHub for web developers - 9th October 2020

Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.

1. 30 Days Of React

30 Days Of React challenge is a guide for both beginners and advanced JavaScript and React developers.In this challenge you will learn everything you need to use to develop a React application

GitHub logo Asabeneh / 30-Days-Of-React

30 Days of React challenge is a step by step guide to learn React in 30 days. It requires HTML, CSS, and JavaScript knowledge. You should be comfortable with JavaScript before you start to React. If you are not comfortable with JavaScript check out 30DaysOfJavaScript. This is a continuation of 30 Days Of JS. This challenge may take more than 100 days, follow your own pace.


2. Water.css

A drop-in collection of CSS styles to make simple websites just a little nicer

GitHub logo kognise / water.css

A drop-in collection of CSS styles to make simple websites just a little nicer

NPM page On Product Hunt Contributors MIT license

Water.css

🌊 A drop-in collection of CSS styles to make simple websites just a little nicer

Water.css


Goals

  • Responsive
  • Themeable
  • Good browser support (works on my old kindle's browser :P)
  • Tiny size
  • Beautiful
  • No classes

Why?

I commonly make quick demo pages or websites with simple content. For these, I don't want to spend time styling them but don't like the ugliness of the default styles.

Water.css is a CSS framework that doesn't require any classes. You just include it in your <head> and forget about it, while it silently makes everything nicer.

Who?

You might want to use Water.css if you're making a simple static page or demo website that you don't want to spend time styling.

Although it originally wasn't built for more complex websites, many developers have used Water.css as a base stylesheet and creatively applied custom styles to build out an entire app. Nothing is stopping you…


3. Headless UI

A set of completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.

GitHub logo tailwindlabs / headlessui

Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.


4. Diagram Maker

Diagram Maker is a library to display an interactive editor for any graph-like data.

GitHub logo awslabs / diagram-maker

A library to display an interactive editor for any graph-like data.

Diagram Maker

Build Status

Diagram Maker is a library to display an interactive editor for any graph-like data.

Following is a screenshot from one of the consumers of this library, AWS IoT Events Console with Diagram Maker in action IoT Events Screenshot

Following is a screenshot from another one of the consumers of this library, AWS IoT Things Graph Console with Diagram Maker in action IoT Things Graph Screenshot

Why Diagram Maker?

Diagram Maker is a framework & data format agnostic library that is fully customizable in terms of look & feel as well as behavior. It also exposes a declarative interface to reduce the code required to integrate the library in any application and comes with many interactive features built in. Read more about the features of the library here.

Explore

Interactive Demo

Check out one of our interactive demos here or see the full list of interactive demos here. The code for these demos can…


5. Apex Charts

A modern JavaScript charting library to build interactive charts and visualizations with simple API.

GitHub logo apexcharts / apexcharts.js

📊 Interactive JavaScript Charts built on SVG

License build downloads ver size prettier jsdelivr

A modern JavaScript charting library to build interactive charts and visualizations with simple API.


Browsers support

Firefox
Firefox
Chrome
Chrome
Safari
Safari
Edge
Edge
IE
IE11
31+ 35+ 6+ Edge (IE11)

Download and Installation

Installing via npm
npm install apexcharts --save
Enter fullscreen mode Exit fullscreen mode
Direct <script> include
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
Enter fullscreen mode Exit fullscreen mode

Wrappers for Vue/React/Angular/Stencil

Integrate easily with 3rd party frameworks

Unofficial Wrappers

Useful links to wrappers other than the popular frameworks mentioned above

Usage

import ApexCharts from 'apexcharts'
Enter fullscreen mode Exit fullscreen mode

To create a basic bar chart with minimal configuration, write as follows:

var options = {
  chart: {
    type: 'bar'
  },
  series: [
    {
      name: 
Enter fullscreen mode Exit fullscreen mode

6. Mapbox GL JS

Mapbox GL JS is a JavaScript library for interactive, customizable vector maps on the web. It takes map styles that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using WebGL.

GitHub logo mapbox / mapbox-gl-js

Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL

Mapbox logo

Mapbox GL JS is a JavaScript library for interactive, customizable vector maps on the web. It takes map styles that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using WebGL.

Mapbox GL JS is part of the cross-platform Mapbox GL ecosystem, which also includes compatible native SDKs for applications on Android iOS, macOS Qt, and React Native. Mapbox provides building blocks to add location features like maps, search, and navigation into any experience you create. To get started with GL JS or any of our other building blocks sign up for a Mapbox account.

In addition to GL JS, this repository contains code, issues, and test fixtures that are common to both GL JS and the native SDKs. For code and issues specific to the native SDKs…


7. Yup

Yup is a JavaScript schema builder for value parsing and validation. Define a schema, transform a value to match, validate the shape of an existing value, or both. Yup schema are extremely expressive and allow modeling complex, interdependent validations, or value transformations.

GitHub logo jquense / yup

Dead simple Object schema validation

Yup

Yup is a JavaScript schema builder for value parsing and validation. Define a schema, transform a value to match, validate the shape of an existing value, or both. Yup schema are extremely expressive and allow modeling complex, interdependent validations, or value transformations.

Yup's API is heavily inspired by Joi, but leaner and built with client-side validation as its primary use-case. Yup separates the parsing and validating functions into separate steps. cast() transforms data while validate checks that the input is the correct shape. Each can be performed together (such as HTML form validation) or seperately (such as deserializing trusted data from APIs).

Docs

Install

npm install -S yup
Enter fullscreen mode Exit fullscreen mode

Yup always relies on the Promise global object to handle asynchronous values as well as Set and Map For browsers that do not support these, you'll need to include a polyfill, such as…


8. Elsa

Elsa is a minimal, fast and secure runtime for Javascript and Typescript written in Go, leveraging the power from QuickJS.

GitHub logo elsaland / elsa

❄️ Elsa is a minimal, fast and secure runtime for JavaScript and TypeScript written in Go

Elsa

Travis Status Build Status - Badge Discord invite

Elsa is a minimal, fast and secure runtime for JavaScript and TypeScript written in Go, leveraging the power from QuickJS.

Features

  • URL based imports.
  • No fs, net access unless specified.
  • Compliant to web standards.
  • Supports TypeScript.
  • Module caching.
  • Bundle your script into a single file.
  • Create a standalone executable for your bundles.

Install

Not yet released, build from source instead.

Build from source

You will need Go installed on your machine before building.

Install go-bindata using go get github.com/go-bindata/go-bindata/...

Clone the repo on your $GOPATH and run make build to trigger the build process.

Getting Started

Try running a simple program:

// hello.ts
import { hello } from "https://x.nest.land/arweave-hello@0.0.2/mod.ts";
hello("Elsa");
Enter fullscreen mode Exit fullscreen mode
> elsa run hello.ts
Hello, Elsa
Enter fullscreen mode Exit fullscreen mode

Contributing

Start by creating an issue about your feature or bug! Then, create a PR and we'll land it 😄

Credits


9. urlcat

urlcat is a tiny JavaScript library that makes building URLs very convenient and prevents common mistakes.

GitHub logo balazsbotond / urlcat

A URL builder library for JavaScript.


Markdownify
urlcat

Build correct URLs easily.

Build Status npm version minzipped size Coverage Status

What?Why?How?TypeScriptAPIHelpContribute

What?

urlcat is a tiny JavaScript library that makes building URLs very convenient and prevents common mistakes.

Features:

  • Friendly API
  • No dependencies
  • 0.8 KB minified and gzipped
  • TypeScript types provided

Why?

When I call an HTTP API, I usually need to add dynamic parameters to the URL:

const API_URL = 'https://api.example.com/';

function getUserPosts(id, blogId, limit, offset) {
  const requestUrl = `${API_URL}/users/${id}/blogs/${blogId}/posts?limit=${limit}&offset=${offset}`;
  // send HTTP request
}
Enter fullscreen mode Exit fullscreen mode

As you can see, this minimal example is already rather hard to read. It is also incorrect:

  • I forgot that there was a trailing slash at the end of the API_URL constant so this resulted in a URL…

10. 30 seconds of code

Short JavaScript code snippets for all your development needs

GitHub logo 30-seconds / 30-seconds-of-code

Short JavaScript code snippets for all your development needs

Logo

30 seconds of code

Short JavaScript code snippets for all your development needs

  • Visit our website to view our snippet collection.
  • Use the Search page to find snippets that suit your needs. You can search by name, tag, language or using a snippet's description. Just start typing a term and see what comes up.
  • Browse the JavaScript Snippet collection to see all the snippets in this project or click individual tags at the top of the same page to narrow down your search to a specific tag.
  • Click on each snippet card to view the whole snippet, including code, explanation and examples.
  • You can use the button at the bottom of a snippet card to copy the code to clipboard.
  • If you like the project, give it a star. It means a lot to the people maintaining it.

Want to contribute?

  • If you want to help us improve, take a…

Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.

If you enjoyed this article you can follow me on Twitter where I regularly post bite size tips relating to HTML, CSS and JavaScript.

Top comments (6)

Collapse
 
yellow1912 profile image
yellow1912

You have done a great service to the community. I always follow your post to find gems. In this post I found at least 3 things I want to use.

Collapse
 
iainfreestone profile image
Iain Freestone

Thank you. Glad you find them of use I do enjoy compiling the list each week. So many great projects out there.

Collapse
 
liyan profile image
Yan Li

Really I appreciate your post.
You are doing great job in this community.
It's my happiness to follow you. Because your post is fulfill with golds.

Collapse
 
iainfreestone profile image
Iain Freestone

Thank you Lee, much appreciated.

Collapse
 
mattheslington profile image
Matt Heslington

Thanks Iain, your weekly roundup is one of the few emails I genuinely look forward to receiving should I miss this great weekly post. Keep up the good work 👍

Collapse
 
iainfreestone profile image
Iain Freestone

Thank you Matt that is great to hear