DEV Community

Iain Freestone
Iain Freestone

Posted on • Originally published at stargazing.dev

🚀10 Trending projects on GitHub for web developers - 15th October 2021

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

1. Robot

A small functional and immutable Finite State Machine library. Using state machines for your components brings the declarative programming approach to application state.

GitHub logo matthewp / robot

🤖 A functional, immutable Finite State Machine library

Robot

The Robot logo, with green background.

A small functional and immutable Finite State Machine library. Using state machines for your components brings the declarative programming approach to application state.

See thisrobot.life for the main documentation.

import { createMachine, interpret, state, transition } from 'robot3';

let machine = createMachine({
  off: state(
    transition('toggle', 'on')
  ),
  on: state(
    transition('toggle', 'off')
  )
});

const service = interpret(machine, () => {
  render();
});
Enter fullscreen mode Exit fullscreen mode

Testing

Tests are located in the test/ folder. Load test/test.html in your browser of choice with any HTTP server you like (I use http-server). Tests are written in QUnit and are…





2. Ultimate SAAS template

Template to quickstart a SAAS business. Stop losing time implementing authentication and payment over and over again.
Focus on what brings value to your customers

GitHub logo gmpetrov / ultimate-saas-ts

Template to quickstart a SAAS business

🚀⚡️🧑‍💻 Ultimate SAAS template Typescript/Next.js/NextAuth.js/Prisma/Stripe/Tailwindcss/Postgresql

My template to quickstart a SAAS project

Stop losing time implementing authentication and payment over and over again.
Focus on what brings value to your customers

Demo

https://utlimate-saas-js.vercel.app

Features

  • Authentication with NextAuth.js (Own Your Data ✅)
    • Email with magic link
    • Github
    • Many other oauth providers available check their docs
  • Payment with Stripe
    • Stripe checkout
    • Stripe billing portal
    • Stripe webhooks (products / prices are synced)
  • Hosted on vercel for free

Stripe

Check the stripe section of this repo as the steps are very similar

Postgresql

A postgresql db is needed to deploy the app.
You can have a very small instance for free on heroku


Made with

  • Typescript
  • Next.js
  • NextAuth.js
  • Prisma
  • Postgresql
  • Stripe
  • Tailwindcss

Develop

# create .env
cp .env.example .env

# install dependencies
yarn

# Launch pgsql and maildev
yarn docker:start

# migrate and seed the database
yarn prisma:migrate:dev

yarn prisma:seed

# install stripe cli

3. Pure

A set of small, responsive CSS modules that you can use in every web project.

GitHub logo pure-css / pure

A set of small, responsive CSS modules that you can use in every web project.

Pure

Pure

A set of small, responsive CSS modules that you can use in every web project https://purecss.io/

Build Status

Features

Pure is a starting point for every website or web app. We take care of all the CSS work that every site needs without making it look cookie-cutter:

  • A responsive grid that can be customized to your needs.

  • A solid base built on Normalize.css to fix cross-browser compatibility issues.

  • Consistently styled buttons that work with <a> and <button> elements.

  • Styles for vertical and horizontal menus, including support for dropdown menus.

  • Useful form alignments that look great on all screen sizes.

  • Various common table styles.

  • An extremely minimalist look that is super-easy to customize.

  • Responsive by default, with a non-responsive option.

  • Extremely small file size: 3.7KB minified + gzip.

Get Started

Check out the Get Started page for more information.

Build From Source

Optionally, you can build Pure from its source on…


4. Xterm.js

Xterm.js is a front-end component written in TypeScript that lets applications bring fully-featured terminals to their users in the browser. It's used by popular projects such as VS Code, Hyper and Theia.

GitHub logo xtermjs / xterm.js

A terminal for the web

xterm.js logo

Xterm.js is a front-end component written in TypeScript that lets applications bring fully-featured terminals to their users in the browser. It's used by popular projects such as VS Code, Hyper and Theia.

Features

  • Terminal apps just work: Xterm.js works with most terminal apps such as bash, vim, and tmux, including support for curses-based apps and mouse events.
  • Performant: Xterm.js is really fast, it even includes a GPU-accelerated renderer.
  • Rich Unicode support: Supports CJK, emojis, and IMEs.
  • Self-contained: Requires zero dependencies to work.
  • Accessible: Screen reader and minimum contrast ratio support can be turned on.
  • And much more: Links, theming, addons, well documented API, etc.

What xterm.js is not

  • Xterm.js is not a terminal application that you can download and use on your computer.
  • Xterm.js is not bash. Xterm.js can be connected to processes like bash and let you interact with…

5. timeago.js

timeago.js is a nano library(less than 2 kb) used to format datetime with *** time ago statement. eg: '3 hours ago'.

GitHub logo hustcc / timeago.js

🕗 ⌛ timeago.js is a tiny(2.0 kb) library used to format date with `*** time ago` statement.

timeago.js

timeago.js is a nano library(less than 2 kb) used to format datetime with *** time ago statement. eg: '3 hours ago'.

  • i18n supported.
  • Time ago and time in supported.
  • Real-time render supported.
  • Node and browser supported.
  • Well tested.

Official website. React version here: timeago-react. Python version here: timeago.

npm Version unpkg Build Status Coverage Status Dist gzip npm Download npm License

Such as

just now
12 seconds ago
2 hours ago
3 days ago
3 weeks ago
2 years ago
in 12 seconds
in 3 minutes
in 24 days
in 6 months

Usage

  • install
npm install timeago.js
Enter fullscreen mode Exit fullscreen mode
  • import
import { format, render, cancel, register } from 'timeago.js';
Enter fullscreen mode Exit fullscreen mode

or import with script tag in html file and access global variable timeago.

<script src="dist/timeago.min.js"></script>
Enter fullscreen mode Exit fullscreen mode
  • example
// format the time with locale
format('2016-06-12', 'en_US');
Enter fullscreen mode Exit fullscreen mode

CDN

Alternatively to NPM, you can also use a…


6. GitHub userscripts

Userscripts to add functionality to GitHub.

GitHub logo Mottie / GitHub-userscripts

Userscripts to add functionality to GitHub

GitHub userscripts tag Mentioned in Awesome Userscripts

Userscripts to add functionality to GitHub.

Installation

  1. Make sure you have user scripts enabled in your browser (these instructions refer to the latest versions of the browser):

  2. Get information or install:

    • Learn more about the userscript by clicking on the named link. You will be taken to the specific wiki page.
    • Install a script directly from GitHub by clicking on the "install" link in the table below.
    • Install a script from GreasyFork (GF) from the userscript site page
    • Or, install the scripts from OpenUserJS (OU).
    Userscript Wiki Direct
    Install
    Sites Added Updated
    GitHub code colors install GF OU 2016.03.20 2022.10.24
    GitHub code folding install GF OU 2016.12.28 2022.10.24
    GitHub code guides install GF OU 2016.08.27 2020.07.11
    GitHub code show whitespace install GF OU 2017.03.26 2022.10.24
    GitHub collapse in comment * install GF OU 2016.06.27 2022.10.24

7. DOM to SVG

Library to convert a given HTML DOM node into an accessible SVG "screenshot".

GitHub logo felixfbecker / dom-to-svg

Library to convert a given HTML DOM node into an accessible SVG "screenshot".

DOM to SVG

npm CI status license: MIT semantic-release

Library to convert a given HTML DOM node into an accessible SVG "screenshot".

Demo 📸

Try out the SVG Screenshots Chrome extension which uses this library to allow you to take SVG screenshots of any webpage You can find the source code at github.com/felixfbecker/svg-screenshots.

Usage

import { documentToSVG, elementToSVG, inlineResources, formatXML } from 'dom-to-svg'

// Capture the whole document
const svgDocument = documentToSVG(document)

// Capture specific element
const svgDocument = elementToSVG(document.querySelector('#my-element'))

// Inline external resources (fonts, images, etc) as data: URIs
await inlineResources(svgDocument.documentElement)

// Get SVG string
const svgString = new XMLSerializer().serializeToString(svgDocument)
Enter fullscreen mode Exit fullscreen mode

The output can be used as-is as valid SVG or easily passed to other packages to pretty-print or compress.

Features

  • Does NOT rely on <foreignObject> - SVGs will…

8. Serverless Examples

A collection of boilerplates and examples of serverless architectures built with the Serverless Framework on AWS Lambda, Microsoft Azure, Google Cloud Functions, and more.

GitHub logo serverless / examples

Serverless Examples – A collection of boilerplates and examples of serverless architectures built with the Serverless Framework on AWS Lambda, Microsoft Azure, Google Cloud Functions, and more.


Website  •  Documentation  •  X / Twitter  •  Community Slack  •  Forum


examples-hero

Serverless Examples

A collection of ready-to-deploy Serverless Framework services.

Table of Contents

Click to expand

Getting Started

If you are new to serverless, we recommend getting started with by creating an HTTP API Endpoint in NodeJS, Python, Java, or Golang.

Examples

Each example contains a README.md with an explanation about the service and it's use cases.

Have an example? Submit a PR or open an issue. ⚡️

To install any of these you can run:

serverless install -u https://github.com/serverless/examples/tree/master/folder-name -n my-project
Enter fullscreen mode Exit fullscreen mode
Example Runtime
Dot Net REST API with DynamoDB
Setup a REST API w/ DynamoDB using Dot Net Core 2.1
unknown
AWS FFmepg Layer
AWS FFmepg Layer & a service using it to create GIFs
unknown
AWS Golang Auth
This

9. dva

React and redux based, lightweight and elm-style framework. (Inspired by elm and choo)

GitHub logo dvajs / dva

🌱 React and redux based, lightweight and elm-style framework. (Inspired by elm and choo)

English | 简体中文

dva

codecov CircleCI NPM version Build Status Coverage Status NPM downloads Dependencies Join the chat at https://gitter.im/dvajs/Lobby

Lightweight front-end framework based on redux, redux-saga and react-router. (Inspired by elm and choo)


Features

  • Easy to learn, easy to use: only 6 apis, very friendly to redux users, and API reduce to 0 when use with umi
  • Elm concepts: organize models with reducers, effects and subscriptions
  • Support HMR: support HMR for components, routes and models with babel-plugin-dva-hmr
  • Plugin system: e.g. we have dva-loading plugin to handle loading state automatically

Demos

Quick


10. Pigeon Maps

ReactJS Maps without external dependencies

GitHub logo mariusandra / pigeon-maps

ReactJS Maps without external dependencies

Pigeon Maps - ReactJS maps without external dependencies

npm version minified minified + gzipped

Demo: https://pigeon-maps.js.org/ (using maps from MapTiler, OSM and Stamen)

What is it?

Are you tired of waiting 3 seconds to parse 200kb of Google Maps JavaScript just to display a few tiles and a marker? 140kb of minified Leaflet too much?

Welcome to the club!

This project aims to provide a performance-first React-centric extendable map engine.

We're currently at:

  • minified
  • minified + gzipped

Implemented:

  • Show tiles
  • Arbitrary overlays (markers, etc)
  • Move the map by dragging
  • Move the map by touch on mobile
  • Zooming with the scroll wheel
  • Zooming by touch
  • Fractional zooming (e.g. to level 12.2)
  • Zoom without flickering (keep old tiles until new ones load)
  • Smooth animated zooming
  • Slide when dragging and letting go
  • Event handling (clicks, etc)
  • Double click and double tap zooming
  • Option to block dragging with one finger and mouse wheel scrolling without holding meta key
  • Enable/disable touch and mouse events as…

Stargazing 📈

Top risers over last 7 days🔗

  1. Uptime Kuma +1,991 stars
  2. Playwright +685 stars
  3. Awesome +979 stars
  4. Developer Roadmap +641 stars
  5. Public APIs +640 stars

Top growth(%) over last 7 days🔗

  1. Nice Modal React +63%
  2. Uptime Kuma +38%
  3. kbar +36%
  4. envsafe +27%
  5. DevOp Resources +23%

Top risers over last 30 days🔗

  1. Public APIs +7,348 stars
  2. Free Programming Books +4,285 stars
  3. Free Code Camp +3,932 stars
  4. Uptime Kuma +3,882 stars
  5. Awesome +3,602 stars

Top growth(%) over last 30 days🔗

  1. Nice Modal React +138%
  2. Uptime Kuma +118%
  3. Pico +73%
  4. Medusa +71%
  5. React Web Editor +66%

For all for the latest rankings please checkout Stargazing.dev


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

If you enjoyed this article you can follow me on Twitter where I regularly post about HTML, CSS and JavaScript.

Top comments (2)

Collapse
 
stradivario profile image
Kristiqn Tachev

Awesome thank you! :)

Collapse
 
mobinx profile image
MobinX

Keep going