npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

clean-architecture

v4.3.8

Published

Utilities for implementing clean architecture using Redux

Downloads

248

Readme

This is a Framework for building web application. It helps you decouple your UI component and the core logic of your App.
It can be used both on the frontend and the backend and integrate well with any UI framework but it's primary use case is for building SPAs (Vite Projects) with React.

Benefits

  • Clean architecture without the object-orientedness.
  • No need to explicitly call dispatch() on the UI side.
    As a matter of fact, Redux being used under the hood is an implementation detail that can as well be ignored by the dev working on the UI.
  • Strict isolation between the Core and the UI. Port your web app to React Native or switch to another UI framework without having to re-write a single line of the core logic.
  • It's not specifically a React framework, it's not even specifically a frontend framework, it can and is be used on the backend.
  • Names things once, it propagate through all the codebase via TypeScript's template literal types. No more hard to maintain stuttering.
    Name things once then let intellisense guide you.
  • The core can tell the UI to do thing imperatively. Like "Play a sound now" which is something that is impossible to do cleanly with just states. (isSoundShouldBePlayedNow: boolean ?)

Install / Import

$ yarn add clean-architecture evt

Examples setups

Example project

This is a very basic snake game implemented with Vite/TypeScript/React/Clean-Architecture.

👉 garronej/snake-clean-architecture👈

Canonical setup

A canonical setup can be found here: 👉 src/test/demo-app👈 .

Enterprise grade app

You can consult the source code of onyxia-web to see how clean-architecture is used in a real world application.

Starting the demo app

git clone https://github.com/garronej/clean-architecture
cd clean-architecture
yarn
yarn build
yarn start-demo-app