{"id":19254485,"url":"https://github.com/vicdata4/seed","last_synced_at":"2026-04-11T02:55:50.610Z","repository":{"id":44108231,"uuid":"190589260","full_name":"vicdata4/seed","owner":"vicdata4","description":"Lightweight web application based on web-components.","archived":false,"fork":false,"pushed_at":"2023-02-28T21:20:32.000Z","size":9391,"stargazers_count":2,"open_issues_count":13,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-05T07:30:16.690Z","etag":null,"topics":["eslint","javascript","lit-element","opensource","redux","rollup","vaadin","web-components"],"latest_commit_sha":null,"homepage":"https://vicdata4.github.io/seed/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vicdata4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-06T13:47:57.000Z","updated_at":"2022-02-12T11:59:25.000Z","dependencies_parsed_at":"2024-11-09T18:38:45.915Z","dependency_job_id":"633ac76c-5daf-4d36-9d52-5c7b5989e258","html_url":"https://github.com/vicdata4/seed","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicdata4%2Fseed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicdata4%2Fseed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicdata4%2Fseed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicdata4%2Fseed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vicdata4","download_url":"https://codeload.github.com/vicdata4/seed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240347984,"owners_count":19787237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eslint","javascript","lit-element","opensource","redux","rollup","vaadin","web-components"],"created_at":"2024-11-09T18:35:50.466Z","updated_at":"2026-04-11T02:55:45.576Z","avatar_url":"https://github.com/vicdata4.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](assets/logo_md.png?v=4\u0026s=100)\n\nLightweight web application based on web-components.\n\n### folder tree\n\n____ [assets](https://github.com/vicdata4/seed-project/tree/master/assets)\\\n|\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___  [images](https://github.com/vicdata4/seed-project/tree/master/assets/images)\\\n|\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___ [backgrounds](https://github.com/vicdata4/seed-project/tree/master/assets/images/backgrounds)\\\n|\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___  [pwa_icons](https://github.com/vicdata4/seed-project/tree/master/assets/pwa_icons)\\\n|\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___  [translations](https://github.com/vicdata4/seed-project/tree/master/assets/translations)\\\n|\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___ [flags](https://github.com/vicdata4/seed-project/tree/master/assets/translations/flags)\\\n|___ [scripts](https://github.com/vicdata4/seed-project/tree/master/scripts)\\\n|\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___  [utils](https://github.com/vicdata4/seed-project/tree/master/scripts/utils)\\\n|___ [src](https://github.com/vicdata4/seed-project/tree/master/src)\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___  [components](https://github.com/vicdata4/seed-project/tree/master/src/components)\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___  [middleware](https://github.com/vicdata4/seed/tree/master/src/middleware)\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___ [store](https://github.com/vicdata4/seed-project/tree/master/src/store)\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; |\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___ [actions](https://github.com/vicdata4/seed-project/tree/master/src/store/actions)\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; |\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___ [reducers](https://github.com/vicdata4/seed-project/tree/master/src/store/reducers)\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___ [utils](https://github.com/vicdata4/seed-project/tree/master/src/utils)\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n|___ [views](https://github.com/vicdata4/seed-project/tree/master/src/views)\n\n## Dependencies:\n- [Rollup.js](https://rollupjs.org) Module bundler\n- [LitElement](https://lit-element.polymer-project.org) Web Components\n- [Redux](https://redux.js.org) Store\n- [Vaadin](https://www.npmjs.com/package/@vaadin/router) Routing\n- [ESLint](https://eslint.org) Coding style\n- [Seed Server](https://github.com/vicdata4/seed-server) Node API\n- [Seed Catalog](https://github.com/vicdata4/seed-catalog) Web Components Catalog\n\nLink: https://seed-project.dev/\n\n## Run project\n\n```\ngit clone https://github.com/vicdata4/seed.git\n```\n\n * Create `config.js` file from root to specify your `host address` and `token prefix` as below.\n\n```js\nexport const prefix = 'prefix-string';\nexport const url = 'http://your-host-address';\n```\n\n```\nnpm install\n```\n\n```\nnpm run dev\n```\n\n## Index\n\n[· Routing configuration](#routing)\n\n[· Redux actions](#redux-actions)\n\n[· Translations](#translations)\n\n[· Utils](#utils)\n\n[· Utils dateFormatter()](#dateFormatter)\n\n[· Utils fetch()](#fetch)\n\n[· Utils validators](#validation)\n\n## Routing\n\n#### [src/routing.js](https://github.com/vicdata4/seed/blob/master/src/routing.js)\n\n```js\nimport { Router } from '@vaadin/router';\nimport './views/home-view';\nimport './views/vaadin-view';\nimport './views/not-found-view';\n\nexport const routing = function() {\n  const outlet = this.shadowRoot.getElementById('root');\n  const router = new Router(outlet);\n\n  var routes = [\n    { path: '/', component: 'home-view' },\n    { path: '/vaadin', component: 'vaadin-view' },\n    { path: '(.*)', component: 'not-found-view' }\n    // ...\n  ];\n};\n```\n\n\n## Redux Actions\n\n#### [src/store/actions/notes-actions.js](https://github.com/vicdata4/seed/blob/master/src/store/actions/notes-actions.js)\n\n```js\n// Import fetch.config file to improve your performance.\n\nimport fetch, { http } from '../fetch.config';\n\nexport const addNote = (body) =\u003e {\n  return async(dispatch) =\u003e {\n    const response = await fetch(http.post(body));\n    if (!response.error) {\n      dispatch({ type: 'ADD_NOTE', payload: response });\n    } else {\n      dispatch({ type: 'CATCH_ERROR', payload: response });\n    }\n  };\n};\n```\n\nGo to [src/store/actions/notes-actions.js](https://github.com/vicdata4/seed/blob/master/src/store/actions/notes-actions.js) to see more examples with GET and DELETE on redux and check [src/store/fetch.config.js](https://github.com/vicdata4/seed/blob/master/src/store/fetch.config.js) file to configure your fetch options.\n\n## Translations\n\n#### Config file: [assets/translations/index.js](https://github.com/vicdata4/seed/blob/master/assets/translations/index.js)\n\n ```js\n // how tu use\n\nimport { locales } from 'assets/translations';\n\n\u003cdiv\u003e\n  \u003ch1\u003e${locales.home_title}\u003c/h1\u003e\n  \u003ch3\u003e${locales.home_title_sub}\u003c/h3\u003e\n  \u003cp\u003e${locales.content}\u003c/p\u003e\n\u003c/div\u003e\n ```\n\n## Utils\n\n#### `dateFormatter()` \n#### [src/utils/functions.js](https://github.com/vicdata4/seed/blob/master/src/utils/functions.js)\n\nDate-formatter allows to customize your own date-formats.\nBy default some presets are already defined such as `default`, `short` and others.\n\n#### How to use\n\n ```js\nimport { dateFormatter } from 'src/utils/functions';\n\nconst date = dateFormatter(Date.now());\n\nconsole.log(date.default); // \"September 7, 2019\"\nconsole.log(date.short); // \"Sep 7\"\nconsole.log(date.day); // \"Sunday\"\nconsole.log(date.hour); // \"15:53\"\n ```\n\n#### `fetch()` \n#### [src/store/fetch.config.js](https://github.com/vicdata4/seed/blob/master/src/store/fetch.config.js)\nConfigure your fetch options and error codes from `fetch.config.js` file.\n\n\n```js\n// Import fetch.config file to improve your performance.\n\nimport fetch, { http } from 'src/store/fetch.config';\nimport { url } from 'config.js';\n\nconst body = {};\n\n// get request \nconst getExample = await fetch(http.get());\n// get request - optional param (api path)\nconst getExample = await fetch(http.get(), `${url}/notes`);\n\nconst postExample = await fetch(http.post(body));\nconst deleteExample = await fetch(http.delete());\n```\n\n## Validation\n\n#### [src/utils/functions.js](https://github.com/vicdata4/seed/blob/master/src/utils/functions.js)\n\n##### `loginValidator()` \n##### `emailValidator()` \n\n### PWA Configuration\n\n[manifest.json](/manifest.json)\n\n[sw.js](/sw.js) service-worker\n\nfrom `index.html`\n\n```html\n\u003chead\u003e\n  \u003clink rel=\"manifest\" href=\"/manifest.json\"\u003e\n  \u003clink rel=\"apple-touch-icon\" href=\"/assets/pwa_icons/icon-192-ios.png\"\u003e\n  \u003cmeta name=\"theme-color\" content=\"white\"/\u003e\n  \u003cmeta name=\"apple-mobile-web-app-capable\" content=\"yes\"\u003e  \n  \u003cmeta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\"\u003e \n  \u003cmeta name=\"apple-mobile-web-app-title\" content=\"Seed Project\"\u003e \n  \u003cmeta name=\"msapplication-TileImage\" content=\"/assets/pwa_icons/icon-144.png\"\u003e  \n  \u003cmeta name=\"msapplication-TileColor\" content=\"#FFFFFF\"\u003e\n\u003c/head\u003e\n```\n\n```js\nwindow.onload = () =\u003e {\n  'use strict';\n\n  if ('serviceWorker' in navigator) {\n    navigator.serviceWorker.register('./sw.js');\n  }\n};\n```\n\n### Seed Server\n\n[Node API | Authentication](https://github.com/vicdata4/seed-server.git)\n\n### Seed Catalog\n\nSeed-catalog is a free and open-source `web-components library`. It contains CSS-styles and standard-web based templates such as buttons, modals, dropdowns and other interface components.\n\n[Seed Catalog repository](https://github.com/vicdata4/seed-catalog)\n\n#### Documentation\n\n[Web Components](https://developer.mozilla.org/en-US/docs/Web/Web_Components)\n\n[Polymer Project](https://www.polymer-project.org/)\n\n[Conventional commits](https://www.conventionalcommits.org/)\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvicdata4%2Fseed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvicdata4%2Fseed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvicdata4%2Fseed/lists"}