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

atriumscreen

v0.0.5

Published

Framework for displaying information to the masses

Downloads

8

Readme

AtriumScreen

Presenting information to the masses

##Heh?

AtriumScreen is a framework designed to display digital signage through web technologies. So many physical places have access to screens and use them to display information but hardly any of them make good use of them. Screens are a way to interact with people and static screens are boring screens. Web technologies are easy, powerful and look awesome so they are perfect for remedying this problem. It just helps to have a bit of a helping hand, and that's where AtriumScreen comes in.

##The Important Philosophy

Developers need to love to use this but so do people who can't code. Think of how frameworks like Wordpress empower the content creator, the designer and the developer. Making one the core focuse without the other is simple - utilising both without compromise is what's difficult.

##The Core Concepts

###Screens

You set up screens as endpoints of your app. Usually, each screen can represent a physical screen in reality but you can have more than one attached to the same endpoint.

###Layouts

This is the end result, a layout is synonymous with a view, pretty much. Layouts are powerful in that they're designed to take in a whole bunch of information to make them extremely extendible. Make a layout for a clock that takes in information such as timezone, colours, layouts. Still not extensive enough? Have another layout that displays some information, and has a slot for another layout embedded in it - in it goes the clock. The concept of a widget could have been introduced, but now everything visual has been abstracted into a single idea.

###Middleware

You can't have an Express app without middleware. The job of the middleware is to link each screen with a layout and populate any information that may be required of the layout. Any screen can have any number of middleware associated with it, one after the other. Middleware "stacks" will be able to be saved into groups for easy reuse.

###Calendar

Screens change over time and it ought to be automated. Create calendars to set variables or layouts for other screens over time. Combine multiple calendars in middleware stacks and who knows what will happen?

##Backend

The backend of AtriumScreen is powered by the amazing Keystone. At this stage, it makes it really easy for rapid development of AtriumScreen. But for the backend to become truly intuitive and easy. Here are some desired features that are already being discussed:

  • Custom rendering of model lists For example, the calendar would look great if it wasn't a list of events but an actual calendar #268.
  • Custom fields There are some slightly more complex fields in AtriumScreen that would work well if we could decide how they were edited #218
  • Full use of MongoDB power It's frustrating that we can't use arrays and ambiguous mixed objects in the admin UI. Every layout, screen and decider will be able to have settings tied to it and these settings could contain any manner of entries - There's not much need for a schema here as this information is interpreted on a case by case basis through the controller #153.