Skip to content

A simple eCommerce demo application in 2,500 lines of Elm code, all shrank into 40KB of JavaScript, including styling and icons.

License

Notifications You must be signed in to change notification settings

lucamug/elm-ecommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elm eCommerce

🍇🍉🍏🍊🍋🍌🍍🍎🍐🍑🍒🍈🍓🥝

A simple eCommerce demo application in 2,500 lines of Elm code, all shrank into 40KB of JavaScript, including styling and icons.

picture

Characteristics

  • Responsive
  • Cart and Favorites management
  • Persistent (local storage)
  • Synced across tabs
  • Light / Dark mode
  • Bilingual
  • Searchable/Sortable results
  • Dashboard (+1,100 lines of Elm)
  • Atomic design
  • Fault tolerant

It is made of

2,500 lines of Elm
    0 lines of CSS
   25 lines of JavaScript
   15 lines of HTML

Links

Prerequisites

Install Node.js.

All other commands should work without installation as they are using npx. In case there are some issues you can install the required application executing:

Optional installations for the development

Optional installations for building the optimized version to be released

To set up the development environment

git clone https://github.com/lucamug/elm-ecommerce.git
cd elm-ecommerce
cmd/start

Then access http://localhost:8000/

Edit src/Main.elm and the browser will update automatically.

To start the Dashboard

cmd/startDashboard

Then access http://localhost:8001/

Edit src/Dashboard.elm and the browser will update automatically.

To build an optimized version

cmd/build

This will create two folders, build/normal and build/dashboard that can be used to publish the application.

You can see these two versions of the application here:

❤️😃 HAPPY CODING! 😃❤️

About

A simple eCommerce demo application in 2,500 lines of Elm code, all shrank into 40KB of JavaScript, including styling and icons.

Topics

Resources

License

Stars

Watchers

Forks