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
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.
# Day | Topics |
---|---|
00 |
Introduction How to Use Repo Requirements Setup |
01 | JavaScript Refresher |
02 | Getting Started React |
03 | Setting Up |
04 | Components |
05 | Props |
06 | List, Map and Keys |
07 | Class Components |
08 | States |
09 | Conditional Rendering |
10 | React Project Folder Structure |
11 | Events |
12 | Forms |
13 | Controlled and Uncontrolled Component |
14 | Component Life Cycles |
15 | Third Party Packages |
16 | Higher Order Components |
17 | React Router |
18 | Fetch versus Axios |
19 | Projects |
20 | Projects |
21 | Hooks |
22 | Forms Using Hook |
23 | Fetching Data Using Hooks |
24 | Project using Hooks |
25 | Custom Hooks |
26 | Context |
27 | Ref |
28 | project |
29 | Explore |
30 | Conclusions |
2. 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.
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.dev.
Packages
Name | Version | Downloads |
---|---|---|
@headlessui/react |
||
@headlessui/vue |
Community
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
For casual chit-chat with others using the library:
4. Diagram Maker
Diagram Maker is a library to display an interactive editor for any graph-like data.
awslabs / diagram-maker
A library to display an interactive editor for any graph-like data.
Diagram Maker
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
Following is a screenshot from another one of the consumers of this library, AWS IoT Things Graph Console with Diagram Maker in action
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.
apexcharts / apexcharts.js
📊 Interactive JavaScript Charts built on SVG
A modern JavaScript charting library to build interactive charts and visualizations with simple API.
Browsers support
Firefox |
Chrome |
Safari |
Edge |
IE11 |
---|---|---|---|---|
31+ |
35+ |
6+ |
Edge |
(IE11) |
Download and Installation
Installing via npm
npm install apexcharts --save
Direct <script> include
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
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
- apexcharter - Htmlwidget for ApexCharts
- apexcharts.rb - Ruby wrapper for ApexCharts
- larapex-charts - Laravel wrapper for ApexCharts
- blazor-apexcharts - Blazor wrapper for ApexCharts demo
- svelte-apexcharts - Svelte wrapper for ApexCharts
Usage
import ApexCharts from 'apexcharts'
To create a basic bar chart with minimal configuration, write as follows:
var options = {
chart: {
type: 'bar'
},
series: [
{
name:
…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.
mapbox / mapbox-gl-js
Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
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.
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
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.
elsaland / elsa
❄️ Elsa is a minimal, fast and secure runtime for JavaScript and TypeScript written in Go
Elsa
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");
> elsa run hello.ts
Hello, Elsa
Contributing
Start by creating an issue about your feature or bug! Then, create a PR and we'll land it
Credits
- QuickJS - by Fabrice Bellard…
9. urlcat
urlcat is a tiny JavaScript library that makes building URLs very convenient and prevents common mistakes.
balazsbotond / urlcat
A URL builder library for JavaScript.
urlcat
Build correct URLs easily.
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:
- 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
}
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
30-seconds / 30-seconds-of-code
Short JavaScript code snippets for all your development needs
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)
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.
Thank you. Glad you find them of use I do enjoy compiling the list each week. So many great projects out there.
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.
Thank you Lee, much appreciated.
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 👍
Thank you Matt that is great to hear