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. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw


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.

Headless UI

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


Documentation

For full documentation, visit headlessui.com.

Installing the latest version

You can install the latest version by using:

  • npm install @headlessui/react@latest
  • npm install @headlessui/vue@latest

Installing the insiders version

You can install the insiders version (which points to whatever the latest commit on the main branch is) by using:

  • npm install @headlessui/react@insiders
  • npm install @headlessui/vue@insiders

Note: The insiders build doesn't follow semver and therefore doesn't guarantee that the APIs will be the same once they are released.

Packages

Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

Discuss Headless UI on GitHub

For casual chit-chat with others using the library:

Join the Tailwind CSS Discord Server

Contributing

If you're interested in contributing to Headless UI, please read ourโ€ฆ





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 NPM Version License Bundle Size Downloads Github Stars

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 that allows you to build interactive data visualizations with simple API and 100+ ready-to-use samples. Packed with the features that you expect, ApexCharts includes over a dozen chart types that deliver beautiful, responsive visualizations in your apps and dashboards. ApexCharts is an MIT-licensed open-source project that can be used in commercial and non-commercial projects.

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โ€ฆ





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 schema builder for runtime value parsing and validation. Define a schema, transform a value to match, assert the shape of an existing value, or both. Yup schema are extremely expressive and allow modeling complex, interdependent validations, or value transformation.

You are viewing docs for the v1.0.0 of yup, pre-v1 docs are available: here

Killer Features:

  • Concise yet expressive schema interface, equipped to model simple to complex data models
  • Powerful TypeScript support. Infer static types from schema, or ensure schema correctly implement a type
  • Built-in async validation support. Model server-side and client-side validation equally well
  • Extensible: add your own type-safe methods and schema
  • Rich error details, make debugging a breeze

Getting Started

Schema are comprised of parsing actions (transforms) as well as assertions (tests) about the input value Validate an input value to parse it and run the configured set of assertions. Chain together methods toโ€ฆ


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 runtime for JavaScript and TypeScript written in Go

Elsa

Discord invite

Elsa is a minimal JavaScript and TypeScript runtime written in Go. Built on top of quickjs and heavily inspired by Deno.

Features

  • URL imports.
  • useful Web APIs.
  • compiles TypeScript out of the box.
  • bundling. elsa bundle
  • compiling to native distributable binaries. elsa compile
// 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




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? โ€ข TypeScript โ€ข API โ€ข Help โ€ข Contribute

What?

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

Features




























v3 v2
Latest version Actively supported
legacy version
The same friendly API
Only one dependency
No dependencies
10.5KB minified and gzipped
0.8KB 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โ€ฆ

10. 30 seconds of code

Short JavaScript code snippets for all your development needs

GitHub logo Chalarangelo / 30-seconds-of-code

Short code snippets for all your development needs

Logo

30 seconds of code

Short code snippets for all your development needs

  • Visit the website to view the snippet collection.
  • Search for snippets and collections that suit your needs, using the name, tags, language or description.
  • Browse all snippets or individual snippet collections for each topic.
  • Click on each snippet card to view the whole snippet, including code, explanation and examples.
  • You can copy code blocks on any snippet card, using the copy button at the top right.
  • If you like the project, give it a star. It means a lot.

Want to contribute?

  • Community contributions are not accepted at this time. Check back later for updates.

Credits

  • This repository is maintained by Angelos Chalaris.
  • All code snippets are licensed under the CC-BY-4.0 License, unless explicitly stated otherwise.
  • Any other material (including text content, images, the website source code, logos, names and trademarks) are not to be used withoutโ€ฆ

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