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

recordjs

v0.0.3

Published

Node.js API plateform

Downloads

41

Readme

Record.JS - A new way to program

Look we have built business software the same now for 20 plus years. If not even 50 years for some of the concepts. We think of some great idea. We sit down and sketch out the idea, hopefully talk with others to get a visual concept. After that we site down at some text editor and type commands and patterns in one more more languages to build a system.

I don't think we need to do it this way. We as programmers spend so much time thinking about the problem and how to solve it that we don't step back enough and think maybe there is an easier way.

If you break down 99% of software written today you will find there is some data structor, in most modern systems we call this a Models. We tend to store this model in a database but it has many shapes depending on the layer we are in. What the user sees in a view is not what the database is always storing.

Then there is some workflow that these types go through to ether add, change, or remove data from the system. This has many names in systems these days. You might call them a controller or a service. We tend to build frameworks to try and simplify this and to just write less code. These tend to follow some pattern that we follow throughout the system like MVC, Active record, MVVM, or many more.

The last part of the software we write is the views. Most systems these days require multiple views of the same data. It might be based on some role they have in the system. Like an Admin vs the the guy that just needs the reports. Or we might put less or more data on the screen based on the device they are accessing the system on. The screen is much bigger on a desktop vs a phone. You also interact with them differently, one you use your touch screen with a finger and the other you use a mouse and keyboard.

What if I told you we could do this a different way. What if we could build a completely declarative way of stating what the types and the workflows the system will need to perform? Instead of writing the something 1,000's of times across each company and team. What if instead of defaulting to a text editor we could visually make changes to a system and even watch as the data goes through the system. This is the goal of this project.

Project Goals

  • Build systems visually instead of having to type out files. This would include type editors, workflow editors, view editors, and possibly more.
  • Build a code generator on the backside that uses the output from the visual editor to output APIs, databases structors, and code.
  • Each code generator tells the visual editor what actions and types are allowed in the system. This will allow others to build systems to their liking.
  • Code generators can have dependencies on others. So you can build a API code generator that can drive a iOS, Android, and Reach view code generator. That API code generator might also be dependent on an ORM generator and a database generator. This will allow you to build your stack exactly how you want.
  • Have a repository of shared code generators that other teams within your company can share as well as open source it to the world if you would like too.
  • Support multiple programming language the first being JavaScript/Node.js.

What do you think? Have any ideas? Please share them with me on twitter @JTWebMan.