DEV Community

Iain Freestone
Iain Freestone

Posted on • Originally published at iainfreestone.com

🚀10 Trending projects on GitHub for web developers - 9th April 2021

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

1. react-spring

react-spring is a spring-physics based animation library that should cover most of your UI related animation needs. It gives you tools flexible enough to confidently cast your ideas into moving interfaces.

GitHub logo pmndrs / react-spring

✌️ A spring physics based React animation library

react-spring is a spring-physics based animation library that should cover most of your UI related animation needs. It gives you tools flexible enough to confidently cast your ideas into moving interfaces.

This library represents a modern approach to animation. It is very much inspired by Christopher Chedeau's animated and Cheng Lou's react-motion. It inherits animated's powerful interpolations and performance, as well as react-motion's ease of use. But while animated is mostly imperative and react-motion mostly declarative, react-spring bridges both. You will be surprised how easy static data is cast into motion with small, explicit utility functions that don't necessarily affect how you form your views.

Build npm version Discord Shield Backers on Open Collective Sponsors on Open Collective

Installation

npm install react-spring

Documentation and Examples

More info about the project can be found here.

Examples and tutorials can be found here.


Why springs and not durations

The principle you will be working with is called a spring, it does


2. WMR

The tiny all-in-one development tool for modern web apps, in a single 2mb file with no dependencies.

GitHub logo preactjs / wmr

👩‍🚀 The tiny all-in-one development tool for modern web apps.

WMR

wmr logo

npm install size OpenCollective Backers OpenCollective Sponsors

The tiny all-in-one development tool for modern web apps, in a single 2mb file with no dependencies.

All the features you'd expect and more, from development to production:

🔨   No entry points or pages to configure - just HTML files with <script type=module>
🦦   Safely import "packages" from npm without installation
📦   Smart bundling and caching for npm dependencies
↻   Hot reloading for modules, Preact components and CSS
⚡️   Lightning-fast JSX support that you can debug in the browser
💄   Import CSS files and CSS Modules (*.module.css)
🔩   Out-of-the-box support for TypeScript
📂   Static file serving with hot reloading of CSS and images
🗜   Highly optimized Rollup-based production output (wmr build)
📑   Crawls and pre-renders your app's pages to static HTML at build time
🏎   Built-in HTTP2 in dev and prod (wmr serve --http2)
🔧   Supports Rollup plugins, even in development…


3. dumi

A Umi-based doc tool can assist you to develop libraries & write docs.

GitHub logo umijs / dumi

📖 Documentation Generator of React Component

dumi

codecov NPM version GitHub Actions status NPM downloads lerna

Intro

A Umi-based doc tool can assist you to develop libraries & write docs.

Features

  • 📦 Out of the box, focus on component development and documentation
  • 📋 Rich Markdown extensions, more than just rendering component demo
  • 🏷 Automatically generate component API based on TypeScript type definition
  • 🎨 Easily customize the theme, and create your own Markdown components
  • 📱 Support mobile component library development, built-in mobile HD rendering solution
  • 📡 One-line command digitizes component assets and connects them with downstream productivity tools

Usage & Guide

To view more online examples and docs, please visit dumi official site.

Development

$ yarn
$ yarn watch
$ yarn dev
Enter fullscreen mode Exit fullscreen mode

Who are using dumi?

README Badge

Using dumi ? Add a README badge to show it off: dumi

[![dumi](https://img.shields.io/badge/docs%20by-dumi-blue)](https://github.com/umijs/dumi)

Discuss group





4. RESTful API Node Server Boilerplate

A boilerplate for building production-ready RESTful APIs using Node.js, Express, and Mongoose

GitHub logo hagopj13 / node-express-boilerplate

A boilerplate for building production-ready RESTful APIs using Node.js, Express, and Mongoose

RESTful API Node Server Boilerplate

Build Status Coverage Status PRs Welcome

A boilerplate/starter project for quickly building RESTful APIs using Node.js, Express, and Mongoose.

By running a single command, you will get a production-ready Node.js app installed and fully configured on your machine. The app comes with many built-in features, such as authentication using JWT, request validation, unit and integration tests, continuous integration, docker support, API documentation, pagination, etc. For more details, check the features list below.

Quick Start

To create a project, simply run:

npx create-nodejs-express-app <project-name>
Enter fullscreen mode Exit fullscreen mode

Or

npm init nodejs-express-app <project-name>
Enter fullscreen mode Exit fullscreen mode

Manual Installation

If you would still prefer to do the installation manually, follow these steps:

Clone the repo:

git clone --depth 1 https://github.com/hagopj13/node-express-boilerplate.git
cd node-express-boilerplate
npx rimraf ./.git
Enter fullscreen mode Exit fullscreen mode

Install the dependencies:

yarn install
Enter fullscreen mode Exit fullscreen mode

Set the environment variables:

cp .env.example .env

# open .env and modify the environment variables (if needed)
Enter fullscreen mode Exit fullscreen mode

Table of Contents


5. React Email Editor

Drag-n-Drop Email Editor Component for React.js

GitHub logo unlayer / react-email-editor

Drag-n-Drop Email Editor Component for React.js

React Email Editor

The excellent drag-n-drop email editor by Unlayer as a React.js wrapper component. This is the most powerful and developer friendly visual email builder for your app.

Video Overview
React Email Editor
Watch video overview: https://youtu.be/MIWhX-NF3j8

Live Demo

Check out the live demo here: http://react-email-editor-demo.netlify.com/ (Source Code)

Blog Post

Here's a blog post with a quickstart guide: https://medium.com/unlayer-blog/creating-a-drag-n-drop-email-editor-with-react-db1e9eb42386

Installation

The easiest way to use React Email Editor is to install it from NPM and include it in your own React build process.

npm install react-email-editor --save

Usage

Require the EmailEditor component and render it with JSX:

import React, { useRef } from 'react';
import { render } from 'react-dom';
import EmailEditor from 'react-email-editor';

const App = (props) => {
  const emailEditorRef = useRef(null);

  const exportHtml = () => {
    emailEditorRef.current.editor.exportHtml(
Enter fullscreen mode Exit fullscreen mode

6. Pro Git, Second Edition

The second edition of the Pro Git book

GitHub logo progit / progit2

Pro Git 2nd Edition

Pro Git, Second Edition

Welcome to the second edition of the Pro Git book.

You can find this book online at: https://git-scm.com/book

Like the first edition, the second edition of Pro Git is open source under a Creative Commons license.

A couple of things have changed since open sourcing the first edition For one, we’ve moved from Markdown to the amazing AsciiDoc format for the text of the book; here’s an AsciiDoc quick reference.

We’ve also moved to keeping the translations in separate repositories rather than subdirectories of the English repository See the translating document for more information.

How To Generate the Book

You can generate the e-book files manually with Asciidoctor If you run the following you may actually get HTML, Epub, Mobi and PDF output files:

$ bundle install
$ bundle exec rake book:build
Converting to HTML
 -- HTML output at progit.html
Converting to EPub
 -- Epub

7. Authelia

Authelia is an open-source authentication and authorization server providing 2-factor authentication and single sign-on (SSO) for your applications via a web portal.

GitHub logo authelia / authelia

The Single Sign-On Multi-Factor portal for web apps

Build Go Report Card Docker Tag Docker Size GitHub Release AUR source version AUR binary version AUR development version License Sponsor Discord Matrix

Authelia is an open-source authentication and authorization server providing two-factor authentication and single sign-on (SSO) for your applications via a web portal. It acts as a companion for reverse proxies like nginx, Traefik or HAProxy to let them know whether requests should either be allowed or redirected to Authelia's portal for authentication.

Documentation is available at https://www.authelia.com/docs.

The following is a simple diagram of the architecture:

Authelia can be installed as a standalone service from the AUR APT FreeBSD Ports, or using a Static binary .deb package, Docker or Kubernetes either manually or via the Helm Chart (beta) leveraging ingress controllers and ingress configurations.

Here is what Authelia's portal looks like:

Features summary

This is a list of the key features of Authelia:






8. Frontend Development Bookmarks

Manually curated collection of resources for frontend web developers.

GitHub logo dypsilon / frontend-dev-bookmarks

Manually curated collection of resources for frontend web developers.

Frontend Development Awesome

Manually curated collection of resources for frontend web developers.

You are viewing a browseable version, split by category in many small files. There is also a really huge file with every single resource on one page. Proceed to the totally gigantic file if you are into this kind of thing.

This is the current version, which receives ongoing updates. If you want the good old bookmarks, please use the tag v.1.0. Keep in mind, that the old version has many outdated links.

frontend.directory Gitter Twitter


Appearance

The outward or visible aspect of a website.

  • Animation: The process of creating motion and shape change.
  • Typography: The style, arrangement, or appearance of typeset matter.
  • Visualization: Placing data in a visual context.

Architecture

High level structure of the frontend code and the discipline of creating such structures.

  • Algorithms: A self-contained step-by-step set of operations to be performed. Algorithms perform calculation…

9. kolorist

A tiny utility to colorize stdin/stdout

GitHub logo marvinhagemeister / kolorist

A tiny utility to colorize stdin/stdout

kolorist

Tiny library to put colors into stdin/stdout 🎉

Screenshot of terminal colors

Usage

npm install --save-dev kolorist
Enter fullscreen mode Exit fullscreen mode
import { red, cyan } from 'kolorist';

console.log(red(`Error: something failed in ${cyan('my-file.js')}.`));
Enter fullscreen mode Exit fullscreen mode

You can also disable or enable colors globally via the following environment variables:

  • disable:

    • NODE_DISABLE_COLORS
    • TERM=dumb
    • FORCE_COLOR=0
  • enable:

    • FORCE_COLOR=1

On top of that you can disable colors right from node:

import { options, red } from 'kolorist';

options.enabled = false;
console.log(red('foo'));
// Logs a string without colors
Enter fullscreen mode Exit fullscreen mode

You can also strip colors from a string:

import { red, stripColors } from 'kolorist';

console.log(stripColors(red('foo')));
// Logs 'foo'
Enter fullscreen mode Exit fullscreen mode

License

MIT, see the license file.





10. Autarky

Liberating disk space from node_modules

GitHub logo pranshuchittora / autarky

Liberating disk space from 📁 node_modules

npm downloads NPM Dependabot Maintainability GitHub stars


Installation

# npm
npm i -g autarky
#yarn
yarn global add autarky
Enter fullscreen mode Exit fullscreen mode

Usage

$> autarky
Enter fullscreen mode Exit fullscreen mode

Why autarky

In today's world storage is comparatively costlier than compute. Majority of devs uses MacBooks and sadly MacBooks have pretty low storage (for base models). Hence filling up storage is quite often and we spend a lot of time picking stuff to be deleted.

Motivation

It's 2019 and I got ran out of storage in my laptop after a thorough analysis I found out that the majority of the storage is occupied by node_modules. As each project have a separate node_modules (duplication despite the same version).

I also have a few projects which I touch once in a blue moon, hence they end up eating a lot of space. On the other hand, picking & removing node_modules manually is a tedious process. So I thought why not automate it.

How it


Stargazing 📈

Top risers over last 7 days

  1. Coding Interview University +3,729 stars
  2. Appsmith +1,634 stars
  3. Awesome +1,365 stars
  4. Public APIs +672 stars
  5. TailwindCSS +629 stars

Top risers over last 30 days

  1. Coding Interview University +5,847 stars
  2. Public APIs +4,261 stars
  3. Web Development for Beginners +3,914 stars
  4. JavaScript Algorithms +3,735 stars
  5. Free Programming Books +3,653 stars

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.

Oldest comments (1)

Collapse
 
sm0ke profile image
Sm0ke

Ty!, Nice list.
Small note: react-email-editor .. is quite a fake project. Basically, a wrapper on top of a paid, not OSS SaaS.