Skip to content

Software Libraries

This page details popular software libraries in vaiouos languges/techn stacks.

Model wep applications / model software libraries

Recently read

  • 12/26/22 : Cyber Chef . complete plain JS web site , no framework . It has 3 main parts: core, node, web
  • if you want to see how to build with out any framework, best repo to learn from .
  • here is web index.js which calls App.js & manager.js as shown in the file below.
  • github 1s

We can levarage CODE

  • we can levarage CODE from these MODEL web apps , model software libs. Save time, Do not reinvent the wheel.
  • 1/ next.js commerce site ; site by Vercel, latest/best practices of Next.js , SR tested in /playground
    • functionality: good for search items by category and BUY , Shopping Cart add , checkout
  • 2/ focalboard : Trello OSS equilant. It has 2 parts: webapp (react.js) and Server (golang)
    • good webapp UX/UI written in React and Redux. we can use React part UI components, replace Redux with zustand
    • functinality: good for CRUD screens in SnapCODERR

Production Tech-Stacks

JavaScript Libraries

JSON editor based Libraries

  • 1.1/ react-json-inspector: Developer Tool Filter JSON TreeView Visualization

  • JSON inspector that features tree expansion and fast search.

  • Demo ; github.com/Lapple/react-json-inspector

  • 1.2/ JSON Editor demo ; github code ; Column interface is good, need polishing of UI.

  • modern Json Editor ; This need a 3 column like the ABOVE one, so you can see multiple Schema names on COLUMN one.

  • 2/ react-text-filter ; Filter Text User Input ; Debounced input for search interfaces.

  • Demo ; github Code:

  • 3/ Kivilens ; github code

  • good LEFT Item list onclick serach display on RIGHT.

Regex Libraries

foobar
foobaz
-- gave --> regex ^fooba[rz]$
www.google.com
www.abc.com
www.tesla.com
-- gave --> with Capture Groups --> ^www\.(google|(tesla|abc))\.com$
-- gave --> regular -->^www\.(?:google|(?:tesla|abc))\.com$
- have 3 boxes as below:
- Output1 is STAGE 1 output : first get regex for 'output1' by omitting www.xyz.com , then extract WORDS
- Output2 is final output , where USER is interested in partial strings from Output 1
- we can use this THREE STAGE UI for STRINGS part of our EARNER site .
| INPUT | Output 1 |Output2 |
|-----------------|:----------------:|-------:|
| wwww.google.com | www.google.com | google |
| www.tesla.com | www.tesla.com | tesla |
| www.xyz.com | | |
```
```python
Character classes
. any character except newline
\w\d\s word, digit, whitespace
\W\D\S not word, digit, whitespace
[abc] any of a, b, or c
[^abc] not a, b, or c
[a-g] character between a & g
Anchors
^abc$ start / end of the string
\b\B word, not-word boundary
Escaped characters
\.\*\\ escaped special characters
\t\n\r tab, linefeed, carriage return
Groups & Lookaround
(abc) capture group
\1 backreference to group #1
(?:abc) non-capturing group
(?=abc) positive lookahead
(?!abc) negative lookahead
Quantifiers & Alternation
a*a+a? 0 or more, 1 or more, 0 or 1
a{5}a{2,} exactly five, two or more
a{1,3} between one & three
a+?a{2,}? match as few as possible
ab|cd match ab or cd
```
### React
- Next.js : The React Framework for Production
- Next.js gives you the best developer experience with all the features you need for production: hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching, and more. No config needed.
- **hooks** : Collection of essential React Hooks; [react-use](https://github.com/streamich/react-use)
- **State management** : Bear necessities for state management in React ; [Zustand](https://github.com/pmndrs/zustand)
- **SWR** : SWR is a React Hooks library [for data fetching](https://swr.vercel.app/)
- **React-Query**
- **React-form**
- **React-table**
### Regular JS libs
- **lodash** : A modern JavaScript utility library [delivering modularity, performance & extras](https://lodash.com/docs/4.17.15#indexOf) ; see `intersection with, join`
- **date-fn** : most comprehensive, yet simple and consistent toolset [for manipulating JavaScript dates in a browser & Node.js.](https://date-fns.org/)
- **faker** : A library for generating fake data such as [NetInfonames, addresses, and phone numbers](https://github.com/faker-ruby/faker)
## Python Libraries
### core libs
- **logging** : Python logging made (stupidly) simple ; [ loguru](https://github.com/Delgan/loguru)
- python [in one image](https://fossbytes.com/learn-it-faster-the-entire-python-language-in-a-single-image/) ;
- SR: have this printer poster to a wall infront of your working desk
- have this image as wallpaper image to TV, wall paper to iphone
## Future needs : Do not build, use pre-built Cloud software packages
- SR: for every need there is a Clould software service available, use it , you can never justify the COST of building your own compared to the COST of 'Cloud software'
### Real time colloboration software for
- SR: we may use Ably for Sanpcoder Realtime Code REVIEW
- Everything You Need To [Know About Publish/Subscribe](https://ably.com/topic/pub-sub)
- what is [Pub/Sub Messaging](https://dashbird.io/knowledge-base/well-architected/pub-sub-messaging/)
- [tutorials](https://ably.com/tutorials) : A selection of tutorials demonstrating the use of Realtime and/or REST libraries within devices such as browsers, desktops, mobiles or servers.
```python
Some Well-known Messaging Frameworks Based on Publish-Subscribe Pattern
PAID SaaS
----------
Ably - 10,000 peak connections $100 ; https://ably.com/pricing ; good 3 MM free tier.
pusher - 10,000 concurrent connections $500 ; bottleneck: concurrent USERS/connections ; https://pusher.com/channels/pricing
Chaper, but not intutive APIs
Google Cloud Pub/Sub: Asynchronous Messaging Service - 40 GB free
AWS SNS
tutorials : https://ably.com/tutorials --- ALL HANDS ON CODE ...
ws : WebSocket client & server for Node.js https://github.com/websockets/ws
Bokkit : developer tool for building chat bots, apps & custom integrations for major messaging platforms
OPEN SOURCE:
-------------
Apache Kafka: Apache Kafka is a popular and robust messaging which has the usual Pub/Sub features.
Apache Pulsar
RabbitMQ: RabbitMQ is a message queue. It doesn’t strictly follow the Pub/Sub pattern.
PushPin:PushPin: PushPin is an open-source, real-time messaging framework that is suitable for sending real-time push notifications.

To study, understand and evaluate

Next Js Videos

OSS projects , you can lift some code

  • Nextjs
  • Reactjs ; Wow Chakra-ui is #2
  • Python ; Home Assistant #14 , Tensorflow-example # 19 ; fastapi #21
  • Javascript
  • Typescript ; #1 VS code , Nest #9 ; react-hook-form #20
  • go; Kubernetes #2 , Hugo #5 , Caddy #14

New Libraries to study

New Node server-client frameworks

  • Amplification ; SR Note: just keeping it here for reference ...
    • Amplication auto-generates fully functional human-readable and editable apps based on TypeScript and Node.js.
    • Generated apps include NestJS, Prisma, REST API, GraphQL API, a React admin UI, authentication, authorization, and logging.
  • second one

Popular frameworks in one place

Popular Frameworks
client side Server side
-------------- --------------------------------------
React (Next.js) Next.js
Vue express
Angular Nest
Ruby on Rails
Laravel/Symfony
Django
Spring Framework / Beego
React Native (mobile frameworks)
Flutter
UI Design components
--------------------
Tailwindcss
Chakra-UI
Vuetify
Ant Design
Bootstrap
Semantic
Bulma
Materialize
Programming Languages
--------------------
JavaScript
TypeScript
Python
Ruby
PHP
Java
C/C++
Go (Golang)
Rust
Scala
Erlang
Dart
Swift