Overview
Hi everyone ๐๐ผโ
This will be an article a little different from the others: in fact I will not take projects written in a certain language, but this time I will talk about Italian Open Source projects ๐ฎ๐น
Yes, Italy is my country and and the source of this article is Italia Open-Source ๐, the organization that keeps track of the state of Open Source in Italy.
Let's start ๐ค๐ผ
1. Fiume
Fiume is a zero-dependency, simple, and flexible state machine library written in TypeScript and supports Deterministic and partially Non-Deterministic state machines. It is compatible with all JavaScript runtimes (Node.js for example ๐) and is designed to manage the flow of a system through various states. It provides a lightweight and intuitive way to define states, transitions, and hooks for state entry, exit, and transition events ๐ถ
marco-ippolito / fiume
zero-dependency, lightweight finite state machine in Typescript
Fiume ๐๏ธ
Fiume is a zero-dependency, simple, and flexible state machine library written in TypeScript It supports Deterministic and partially Non-Deterministic state machines It is compatible with all JavaScript runtimes and is designed to manage the flow of a system through various states. This library provides a lightweight and intuitive way to define states, transitions, and hooks for state entry, exit, and transition events.
Unlike other libraries, Fiume does not require hardcoding state transitions.
Instead, you can write the transition logic inside the transitionTo
function.
Docs
You can find documentation and examples at fiume.dev.
Installation
npm install fiume
Usage
import { StateMachine, State } from "fiume";
// Define a simple ON-OFF machine
const states: Array<State> = [
{
id: "OFF",
initial: true,
transitionGuard: ({ event }) => event === 'button clicked',
transitionTo: ()
โฆ2. FusionCache
FusionCache is an amazing project! โ๐ป
It is an easy to use, fast and robust hybrid cache with advanced resiliency features and has all sorts of different types of caches: memory caching, distributed caching, http caching, CDNs, browser cache, offline cache,ecc ๐ค๐ป
ZiggyCreatures / FusionCache
FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features.
๐โโ๏ธ Updating to v1.0.0 ? please read here. |
---|
FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features.
It was born after years of dealing with all sorts of different types of caches: memory caching, distributed caching, http caching, CDNs, browser cache, offline cache, you name it. So I've tried to put together these experiences and came up with FusionCache.
Being a hybrid cache means it can transparently work as either a normal memory cache (L1) or as a multi-level cache (L1+L2), where the distributed 2nd level (L2) can be any implementation of the standard IDistributedCache
interface: this will get us better cold starts, better horizontal scalability, more resiliency and overall better performance.
FusionCache also includes an optional backplane for realtime sync between multiple nodes and advanced resiliency features like cache stampede protection, a fail-safe mechanism, soft/hard timeouts, eager refresh, fullโฆ
3. micro-lc
micro-lc is an open source micro-frontend orchestrator.
It offers a solution for building flexible, multi-tenant frontend applications and aims to be as lightweight as possible and to improve web security ๐ค๐ป
Introduction
micro-lc is an open source micro-frontend orchestrator for building flexible, multi-tenant frontend applications. And much more!
Tip: use the official playground to try micro-lc immediately.
An introduction about micro frontend and how micro-lc works:
Installation
micro-lc is shipped as an ES module CDN bundle and can be imported in any HTML page. Moreover, a dockerized webserver is available on Docker Hub.
Read the docs to learn how you can use micro-lc in your next project!
Handle the repo
Build
This repository is made of 5 subpackages. The dependencies can be sketched as follows:
`interfaces`
|
`composer`
|
`orchestrator` `iconic`
| |
`layout`
to build the packages there's a script which can be invoked after install as
yarn initialize [OPTIONS]
where OPTIONS
are
-
-c
or--cleanup
- one of the subpackages:
interfaces
,iconic
,composer
,orchestrator
, andlayout
(default)
By using cleanup
you require initialize
toโฆ
4. Nuvolaris
Nuvolaris is an Open Source project to build a complete and portable Serverless environment that runs in every Kubernetes.
It is as a distribution of the Apache OpenWhisk serverless engine โ๏ธ
nuvolaris / nuvolaris
Nuvolaris is as a distribution of the Apache OpenWhisk serverless engine that runs in every Kubernetes
Welcome to Nuvolaris!
Nuvolaris is an Open Source project to build a complete and portable Serverless environment that runs in every Kubernetes.
Technically it is a distribution of Apache OpenWhisk released under the Apache Licence 2.0 (like OpenWhisk itself), that includes other services out of the box.
We want to build a complete distribution of a serverless environment that:
- It is easy to install and manage.
- Potentially runs in every Kubernetes.
- It is tested regularly against a set of supported Kubernetes environments.
- Includes a (possibly large) number of integrated services.
This is the main differentiation from Apache OpenWhisk, as it only provides a basic engine for serverless. Our goals are described in our roadmap document to read about.
TL;DR
If you are in a hurry, here a few starting points:
- Read the documentation.
- Download the latest release of the CLI to install and use Nuvolaris.
- Check our YouTubeโฆ
5. Faker
Do you know PHP Faker?
Good, this project is the same but written in Python!
Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you ๐ซต๐ป
Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.
Faker is heavily inspired by PHP Faker, Perl Faker, and by Ruby Faker.
_|_|_|_| _| _| _|_|_| _| _| _|_| _| _|_| _|_|_| _| _| _|_| _|_|_|_| _|_| _| _| _| _| _| _| _| _| _|_|_| _| _| _|_|_| _|
Compatibility
Starting from version 4.0.0
, Faker
dropped support for Python 2 and from version 5.0.0
only supports Python 3.7 and above. If you still need Python 2 compatibility, please install version 3.0.1
in the
meantime, and please consider updating your codebase to support Python 3 so you can enjoy the
latest features Faker
has to offer. Please see the extended docs for more detailsโฆ
6. EVO Framework
Evo Framework is a powerful package for quickly writing modular web applications/services in Golang.
It is a backend development solution designed to facilitate efficient development using the Go programming language. It is built with a focus on modularity and follows the MVC (Model-View-Controller) architectural pattern ๐ช
getevo / evo
Evo is a powerful package for quickly writing modular web applications/services in Golang aimed both backend and frontend.
EVO Framework
EVO Framework is a backend development solution designed to facilitate efficient development using the Go programming language. It is built with a focus on modularity and follows the MVC (Model-View-Controller) architectural pattern. The core of EVO Framework is highly extensible, allowing for seamless extension or replacement of its main modules.
Key Features
- Modularity: EVO Framework promotes modularity, enabling developers to structure their codebase in a modular manner.
- MVC Structure: Following the widely adopted MVC pattern, EVO Framework separates concerns and improves code organization.
- Comprehensive Toolset: EVO Framework provides a rich set of tools, eliminating the need for developers to deal with low-level libraries and technologies.
- Enhanced Readability: By leveraging the EVO Framework, your code becomes more readable and clear, enhancing collaboration and maintainability.
With EVO Framework, you can focus on your programming logic and rapidly develop robust backend solutions without getting bogged down byโฆ
7. Caronte
Caronte is a tool to analyze the network flow during capture the flag events of type attack/defence. It reassembles TCP packets captured in pcap files to rebuild TCP connections, and analyzes each connection to find user-defined patterns. The patterns can be defined as regex or using protocol specific rules. The connection flows are saved into a database and can be visualized with the web application ๐
eciavatta / caronte
A tool to analyze the network flow during attack/defence Capture the Flag competitions
caronte$
Caronte is a tool to analyze the network flow during capture the flag events of type attack/defence It reassembles TCP packets captured in pcap files to rebuild TCP connections, and analyzes each connection to find user-defined patterns The patterns can be defined as regex or using protocol specific rules. The connection flows are saved into a database and can be visualized with the web application. REST API are also provided.
Features
- immediate installation with docker-compose
- no configuration file, settings can be changed via GUI or API
- pcaps to be analyzed can be loaded via
curl
, either locally or remotely, or via the GUI- it is also possible to download the pcaps from the GUI and see all the analysis statistics for each pcap
- rules can be created to identify connections that contain certain strings
- pattern matching is done through regular expressions (regex)
- regex in UTF-8 and Unicode formatโฆ
Conclusion
This list lists seven open source projects that are worth checking out, either to use them or even to contribute๐
Happy coding!โจ
Hi๐๐ป
My name is Domenico, software developer passionate of Vue.js framework, I write article about it for share my knowledge and experience.
Don't forget to visit my Linktree to discover my projects ๐ซฐ๐ป
Linktree: https://linktr.ee/domenicotenace
Follow me on dev.to for other articles ๐๐ป
If you like my content or want to support my work on GitHub, you can support me with a very small donation.
I would be grateful ๐ฅน
Top comments (0)