IMS is an image management system designed for managing your static assets. It's not designed to be a full-fledged CMS or DAM. This is also my reference app architecture. See Architecture for more information.
NOTE: THIS IS NOT FEATURE COMPLETE
- Image uploading
- Image serving
- CDN Support
- Imgix - for resizing, compressing, and manipulating your image
- AWS CloudFront
- CloudFlare
Checkout:
- Storybook: https://jonathanong.github.io/ims/
- Starting the server in development mode:
npm start
- starts the nodejs appnpm run dev-server
- starts the webpack dev server
- Storybook:
npm run storybook
- run the storybook servernpm run build-storybook
- build a static version of the storybook
- Linting:
npm run eslint
npm run eslint -- --fix
npm run stylelint
npm run stylelint -- --fix
- Database:
npm run migrate
- run migrationsnpm run reset-db
- resets the database
- Testing
npm t
- run all testsnpm run test:jsdom
- run the jsdom testsnpm run test:server
- run the server testsnpm run monitors
- run monitorsnpm run automation
- run Selenium tests acceptance tests
- Webpack
npm run build
- build production buildsnpm run build-watch
- auto-build production builds without minification for debugging
You'll need the following features and environment variables:
- S3 - required to host your images
IMS_ACCESS_KEY_ID
IMS_SECRET_ACCESS_KEY
IMS_S3_BUCKET
- Imgix - required to serve your images as IMS intentionally does not compress or resize images for you
IMS_IMGIX_SUBDOMAIN
IMS_IMGIX_API_KEY