{"id":14967633,"url":"https://github.com/artelydev/vue-shortener","last_synced_at":"2025-10-25T20:31:41.008Z","repository":{"id":37027762,"uuid":"150899778","full_name":"artelydev/vue-shortener","owner":"artelydev","description":":fire: Vue.js URL Shortener","archived":false,"fork":false,"pushed_at":"2025-10-21T20:15:50.000Z","size":225,"stargazers_count":6,"open_issues_count":40,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-21T22:15:58.728Z","etag":null,"topics":["coffeescript","coffeescript2","expressjs","heroku","postcss","pug","pug-template-engine","pugjs","stylus","sugarss","url-shortener","vue"],"latest_commit_sha":null,"homepage":"https://vue-shortener.herokuapp.com/","language":"Vue","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/artelydev.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-09-29T20:17:43.000Z","updated_at":"2022-10-20T19:56:28.000Z","dependencies_parsed_at":"2023-01-25T13:46:02.153Z","dependency_job_id":"7e70b984-cfe1-41f7-9217-6eeaba4001f5","html_url":"https://github.com/artelydev/vue-shortener","commit_stats":{"total_commits":36,"total_committers":3,"mean_commits":12.0,"dds":0.2777777777777778,"last_synced_commit":"613f4dc0acd8ad65caba8bb678c6ee7061627d4a"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/artelydev/vue-shortener","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-shortener","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-shortener/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-shortener/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-shortener/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artelydev","download_url":"https://codeload.github.com/artelydev/vue-shortener/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-shortener/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281015602,"owners_count":26430117,"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","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["coffeescript","coffeescript2","expressjs","heroku","postcss","pug","pug-template-engine","pugjs","stylus","sugarss","url-shortener","vue"],"created_at":"2024-09-24T13:38:23.117Z","updated_at":"2025-10-25T20:31:40.688Z","avatar_url":"https://github.com/artelydev.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# :lollipop: Vue URL Shortener\n\nThis is ***backend-agnostic*** project structure as opposed to [monolithic example](https://github.com/cxsper/react-shortener/tree/react).\n\nWhat I'm gonna use:\n\n* [Vue](https://github.com/vuejs/vue)\n\n* [Webpack](https://github.com/webpack/webpack) for bundling \u0026 developing\n\n* [Pug](https://github.com/pugjs/pug) template engine\n\n* [vue-cli](https://github.com/vuejs/vue-cli)\n\n* My [vue-cli-plugin-coffee](https://github.com/cxsper/vue-cli-plugin-coffee) to support [CoffeeScript2](https://github.com/jashkenas/coffeescript)\n\n* [vue-loader](https://github.com/vuejs/vue-loader) for loading `.vue` components\n\n* My [vue-cli-plugin-sugarss](https://github.com/cxsper/vue-cli-plugin-sugarss) to support [SugarSS](https://github.com/postcss/sugarss) linting\n\n* [Stylus](https://github.com/stylus/stylus) CSS Preprocessor\n\n* [PostCSS](https://github.com/postcss/postcss) for `lint`ing and `autoprefix`ing mostly\n\n* [Babel](https://github.com/babel/babel)\n\n* [express](https://github.com/expressjs/express) for static serving\n\n* [Heroku](https://heroku.com) for delpoyment\n\n----\n\n## Development\n\n```shell\n$ npm run serve\n```\n\n---\n\n## Project Structure\n\n### `public`\nStatic files.\n\n### `src/api`\nAPI module for `count`ing, `store`ing and `get`ing `Links`.\n\n### `src/components`\nThis one serves as the VueJS `components'` storage. Usually `src/components/`.sample contains `.vue` files with:\n* a logic written in `script[lang=coffee]`;\n* a template written in `template[lang=pug]`;\n* styles written in `style[lang=stylus][scoped]`;\n\n### `src/utils/base62.coffee`\n`base62` number encoder.\n\n### `src/utils/variables.sss`\n`Stylus/SugarSS` variables.\n\n### `src/App.vue`\n`Vue` instance.\n\n### `src/main.js`\nEntry point.\n\n---\n\n:tada:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartelydev%2Fvue-shortener","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartelydev%2Fvue-shortener","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartelydev%2Fvue-shortener/lists"}