Releases: ais-one/cookbook
Releases · ais-one/cookbook
0.4.1
- [chore] update packages & cleanup & work on improving documentation
- [tested] Dockerfile, vite to GCP storage (script), backend to GCP Cloud Run (script), Test deploy backend to GCP VM (script), PM2
- [chore] eslint & prettier for vite
- [chore] pwa service worker & backend improvements, communication between sw and window (e.g. pushsubscriptionchange)
0.4.0
- [chore] update packages & cleanup & work on improving documentation
- [table] validation
- [frontend]
- example-web/vite
- use webcomponent in a webcomponent - mwc-autocomplete, mwc-multiselect, mwc-fileupload
- provide/inject use pattern for http calls (useXhr), i18n (useI18n)
- add PWA, FCM(google cloud) and Webspush(self hosted) functionality, apollo-client (graphql), ws
- fixed layout bug [https://dev.to/lampewebdev/vuejs-pages-with-dynamic-layouts-problems-and-a-solution-4460]
- REMOVED example-web/pwa and example-web/ssr
- example-web/vite
- [full-stack]
- fixed auth system
- improve structure further (for microservices and CICD)
- moved deploy scripts to respective individual project folders (example-app, example-web/vite)
0.3.5
- [chore] update packages & cleanup & work on improving documentation
- add kafka docs/kafka.md and tcp docs/tcp.md working example
- Handle/Test Signature & Webcam input see docs/custom-element.md
Backlog
- circleci workflow
- improve structure further
- deploy backend to GCP Cloud Run
- deploy SPA frontend to GCP Storage
- backend
- change out of jest?
- GKE, Kubernetes
- research auto generated REST API and Testing (keep in view dredd.io)
- research websocket testing, improve coverage
- frontend
- validation
- mwc-autocomplete (use webcomponent in a webcomponent)
- cypress e2e testing
- vueComponent/ant-design-vue#1913
- PWA cookbook (many things to consider)
- others
- graphql security & performance review
- use monorepo when npm 7 is released ?
- VueCrudX ESM build (only possible when UI framework e.g. Vuetify has ESM version and vue-cli can build ESM)
0.3.4
0.3.3
Version 0.3.3
- [chore] update packages & cleanup & work on improving documentation
- improve npm scripts to handler Windows and Unix environments
- spa
- removed vue-apollo wrapper to apollo client, just use apollo client directly, apollo client v2 to v3 has broken vue-apollo v3
- vite
- web components or no bundler required UI framework, also make code more framework agnostic
- generic table crud
- add echarts and leaflet example
- backend
- generic table crud
0.3.2
Version 0.3.2
- [chore] update packages & cleanup & work on improving documentation
- make it CI/CD friendly [re-organized folders again...]
- renamed common-app to common-lib and it contain reusable stuff
- use NodeJS globals for CONFIG, LIB_PATH, APP_PATH, APP_NAME
- long running process support such as tcp servers
- cronjobs (better that cron call an API rather than run code)
- deployment
- Small scale - all in one server - vm, pm2, SSH (express also serves the frontend)
- Medium to large
- Frontend deploy to GCP Storage / AWS S3 etc.
- Backend as docker container, Google Cloud Run
0.3.1
- update packages & cleanup
- work on improving documentation
- example-app/web/vite
- add vite and do sample composition api
- example-app/web/spa
- removed Ant Design (look to using web components or something that does not use bundler)
- fixed run run build
- example-app/web/pwa
- add a pwa sample app
- add Firebase Cloud Messaging (FCM) push notification
- example-app/public/demo-nobundler
- add no bundler implementation of Vue SPA using ES Modules
- common-app
- add telegram - send to group or channel via bot
- add FCM push notification
- improved on error handling (less boilerplate, see example-app/router/api.js)
- example-app
- improved router organization, and auth
- clear httponly cookie on logout
- vue-crud-x
- fixed sorting
- fixed graphql example to include pagination
- fixed infinite scroll bug
- fixed code to work with latest vuetify (2.2.15 onwards) and fix infinite scroll double xhr call on filter button press
- cleanup code
- update build
Note: See wiki for work in progress and upcoming work / improvements
0.3.0
- update packages
- re-architect for better scalability - able to use as base for multiple full-stack applications
- /backend moved to /, folders are reorganized... refer to README.md Project Structure for more details
- backend
- switch app builds based on settings in /package.json config.app property
- improve error handling using error handler middleware (see /api/error endpoint)
- clean up auth, add groups to JWT and others, also affects frontend
- logging using morgan only, no winston, console.log is sufficient (also see https://12factor.net/)
- add file upload to GCP storage using signed Urls (alternative vendors include AWS S3 or Azure Storage)
- add Dockerfile see docs/Containers.md & example-app/Dockerfile & example-app/.dockerignore
- add message queue example using agenda /api/mq (requires MongoDB) & bull /api/mq-bull (requires Redis)
- frontend /example-app/web folder hosts examples for SPA, SSR
- update user replace loginType with groups (ADFS SAML claims, etc), improve on permissions handling
- avoid single vendor lock in - remove mongo switch and firebase
0.2.8
- update packages
- remove date-fns (use Native JS Intl.DateTimeFormat and Date objects)
- VueCrudX
- fix table height (footer with pagination was hidden)
- enhance render: cell content formatting of the column (if column name is found, value passed in is cell value, else value passed in is row values object)
- backend
- add jest test, create unit and integration test
- structure backend to be testable, create controllers
- allow to authorize from cookie or header
- example-spa
- fixed axios.js, error.config.url returns only path instead of full url in updated version of axios (affected refresh token)
0.2.6
- update packages
- objection upgraded to version 2 - breaking changes...
- eager -> withGraphFetched
- modifyEager -> modifyGraph
- joinRelated -> joinRelation
- objection upgraded to version 2 - breaking changes...
- fixed issue https://stackoverflow.com/questions/59006130/error-typeerror-cannot-read-property-match-of-undefined