3 ms·
Despite the mountain of code it is hopefully simple by design: - about 40 NPM dependencies in total when all modules are added so it installs very quickly and
by benologist 8y ago
Despite the mountain of code it is hopefully simple by design:
- about 40 NPM dependencies in total when all modules are added so it installs very quickly and node_modules is manageable
- about 150 lines of CSS
- one Redis database, with optional encryption at rest
- no client-side javascript (but needs a couple bits for Stripe stuff, and the groundwork is in place for it to feel like an SPA eventually)
- no build process, just node main.js so it starts very quickly
- no templating language to learn, just ECMAScript string literals `like ${this + that}` in vanilla HTML files (https://github.com/userappstore/dashboard/blob/master/src/www/account/sessions.html https://github.com/userappstore/dashboard/blob/master/src/ww...)
- DOM-like construction of HTML in NodeJS (https://github.com/userappstore/dashboard/blob/master/src/www/account/reset-codes.js#L74 https://github.com/userappstore/dashboard/blob/master/src/ww...)
- continually sweeping the software and modules to apply more consistent code formatting and tests
- careful not to include text and formatting in code in preparation for localization
- careful not to abstract to the point you require broad familiarity with the project to understand any page or nodejs
If you want to have a look check this out:
1) This is the basic dashboard software, this part by itself is intended to be all you need to create a web or mobile app with user registrations.
http://github.com/userappstore/dashboard http://github.com/userappstore/dashboard
2) This is what the application emits when you start it up, after combining the dashboard, any modules you use, and any code you added to a single sitemap:
https://github.com/userappstore/dashboard/blob/master/sitemap.txt https://github.com/userappstore/dashboard/blob/master/sitema...
3) This is the test output for the dashboard
https://github.com/userappstore/dashboard/blob/master/tests.txt https://github.com/userappstore/dashboard/blob/master/tests....
Then the modules extend it:
http://github.com/userappstore/organizations http://github.com/userappstore/organizations
http://github.com/userappstore/stripe-subscriptions http://github.com/userappstore/stripe-subscriptions
http://github.com/userappstore/stripe-connect http://github.com/userappstore/stripe-connect
http://github.com/userappstore/maxmind-geoip http://github.com/userappstore/maxmind-geoip
My end goal is for this software to reach a very stable and mature place, concentrating on a very small set of responsibilities and doing them very well.