๐Ÿ’ก

Lume.js

Minimal reactive state library (~2.4KB gzipped core, ~5.5KB global build) with no build step

Results Summary

About the Lume.js Weather Front App

Status

  • Lint Lint status badge for Lume.js
  • Build Build status badge for Lume.js
  • Test Test status badge for Lume.js

Usage Instructions

First, follow the repo setup instructions.
Then cd into ./apps/lume-js/ and and use the following commands:

  • Dev Command npm run dev
  • Test Command npm run test
  • Lint Command npm run lint
  • Build Command npm run build
  • Start npm start
For troubleshooting, use npm run verify from the root of the project.

App Requirements

The purpose of this project, was to build the same identical app in every frontend framework, in order to benchmark and compare their performance. As such, each app is built to meet identical requirements, which are then verified with the test suite.

Technical Requirements

  • Binding user input and validation
  • Fetching external data asynchronously
  • Basic state management of components
  • Handling fallback views (loading, errors)
  • Using browser features (location, storage, etc)
  • Logic blocks, for iterative content and conditionals
  • Lifecycle methods (mounting, updating, unmounting)

Feature Requirements

  • ๐ŸŒฆ๏ธ Live weather conditions
  • ๐Ÿ“… 7-day weather forecast
  • ๐Ÿ” City search functionality
  • ๐Ÿ“ Geolocation support
  • ๐Ÿ’พ Persistent location storage
  • ๐Ÿ“ฑ Responsive design
  • โ™ฟ Accessible interface
  • ๐ŸŽจ Multi-theme support
  • ๐Ÿงช Fully unit tested
  • ๐ŸŒ Internationalized
Weather app screenshot showing interface features

About Lume.js

Real-world App

Coming soon...

Intro to Lume.js

Choosing a Framework

Stack Match Stack Match

Not sure if Lume.js is right for your project? Use Stack Match to select your preferences and get a tailored recommendation based on the benchmark data.

Stack Match Screenshot