{"id":19237597,"url":"https://github.com/cliuno/cliuno-vue-template","last_synced_at":"2025-04-11T03:53:14.128Z","repository":{"id":59747359,"uuid":"536623686","full_name":"CLIuno/CLIuno-Vue-template","owner":"CLIuno","description":"Under Cliuno Tool","archived":false,"fork":false,"pushed_at":"2025-01-08T11:02:52.000Z","size":1147,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T03:53:07.886Z","etag":null,"topics":["cliuno","typescript","vue","vuejs"],"latest_commit_sha":null,"homepage":"https://cliuno.github.io","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CLIuno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-09-14T14:42:01.000Z","updated_at":"2025-01-08T11:02:56.000Z","dependencies_parsed_at":"2024-11-09T16:29:50.546Z","dependency_job_id":"aab2e47d-306d-4f0b-a3f1-abcfefdd3345","html_url":"https://github.com/CLIuno/CLIuno-Vue-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CLIuno%2FCLIuno-Vue-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CLIuno%2FCLIuno-Vue-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CLIuno%2FCLIuno-Vue-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CLIuno%2FCLIuno-Vue-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CLIuno","download_url":"https://codeload.github.com/CLIuno/CLIuno-Vue-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248339261,"owners_count":21087214,"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":["cliuno","typescript","vue","vuejs"],"created_at":"2024-11-09T16:27:33.103Z","updated_at":"2025-04-11T03:53:14.112Z","avatar_url":"https://github.com/CLIuno.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cliuno Vue template\n\n\u003cimg src=\"./public/logo.png\" style=\"width: 540px; height: 300px; margin: auto; display: block; padding-bottom: 30px;\" alt=\"logo\"\u003e\n\na Cliuno vue 3 template.\n\nThis template was built to make it easier to create web projects using Vue 3.\n\n\u003e **NOTES**\n\u003e\n\u003e - This Project using \"pnpm\" as package manager. (not npm or yarn)!!!\n\n## Features\n\n- [x] 💨 [Tailwind CSS v3](https://tailwindcss.com/)\n- [x] 📦 [Vite](https://vitejs.dev/\n- [x] 💨 [UnoCSS](https://unocss.dev/)\n- [x] 🛹 [State \u0026 Store Management (Pinia)](https://pinia.vuejs.org/)\n- [x] 🚩 [Localization (i18n) \u0026 Auto Generate Locales\n- [x] 📦 [Vue Composition Collection (Vueuse)](https://vueuse.org/)\n- [x] 🌙 Switch Theme (light, dark, system, realtime)\n- [x] Built-in Component \u0026 Layout\n- [x] Eslint \u0026 Prettier\n- [x] Husky \u0026 Commitlint\n- [x] Configurable Theme\n  - [x] Primary Colors\n  - [x] Font\n\n## Table of Contents\n\n- [Cliuno Vue template](#cliuno-vue-template)\n  - [Features](#features)\n  - [Table of Contents](#table-of-contents)\n  - [Built-in Components](#built-in-components)\n  - [Installation](#installation)\n  - [Clone the repository](#clone-the-repository)\n  - [Usage](#usage)\n  - [Notes](#notes)\n    - [Styles](#styles)\n    - [Theme (Dark Mode)](#theme-dark-mode)\n    - [Localization](#localization)\n    - [Generate Locales](#generate-locales)\n    - [Icons](#icons)\n    - [Precommit and Postmerge](#precommit-and-postmerge)\n  - [list of endpoints](#list-of-endpoints)\n    - [Auth](#auth)\n    - [Users](#users)\n    - [Roles](#roles)\n    - [Posts](#posts)\n\n## Built-in Components\n\n- [x] Footer\n- [x] Button\n- [x] Anchor (link)\n- [x] Alert\n- [x] Card\n- [x] Action Sheet\n- [x] Theme Toggle / Switcher\n- [x] Navbar\n  - [x] Navbar Builder\n  - [x] Drawer (on mobile)\n  - [x] Options (on mobile)\n- [x] Page Layout\n  - [x] Wrapper\n  - [x] Header\n    - [x] Title\n  - [x] Body\n    - [x] Section\n      - [x] Section Wrapper\n      - [x] Section Title\n- [x] Dashboard Layout\n  - [x] Sidebar\n- [x] Modal\n\n## Installation\n\nif you want to run the project locally make sure you have installed nodejs, pnpm.\nto install node js go to [nodejs](https://nodejs.org/en/download/)\nto install pnpm run the following command\n\n```bash\nnpm install -g pnpm\n```\n\nif you want to run the project using docker make sure you have installed docker.\n\nto install docker go to [docker](https://docs.docker.com/get-docker/)\n\nto run the project using docker run the following command\n\n```bash\ndocker compose -d up\n```\n\nor pull the image from docker hub\n\n```bash\ndocker pull iru44/vue-template\n```\n\nmake sure you pull the database image from docker hub as well\n\nthen run the following command\n\n```bash\ndocker run -p 3000:3000 iru44/express-template\n```\n\nif you want to run the project using kubernetes make sure you have installed minikube.\n\nto install minikube go to [minikube](https://minikube.sigs.k8s.io/docs/start/)\nto install kubectl go to [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)\n\n## Clone the repository\n\n```bash\ngit clone https://github.com/CLIuno/CLIuno-Express-template.git\n```\n\nthen run the following command\n\n```bash\npnpm install\n```\n\n## Usage\n\nto run the project run the following command\n\n```bash\npnpm dev\n```\n\n- open `http://localhost:3000` in your browser\n\n## Notes\n\n### Styles\n\nTailwindcss import managed by windicss.\nand you can add custom styles in :\n\n```bash\n/path/to/assets/sass/app.scss\n```\n\n### Theme (Dark Mode)\n\n### Localization\n\nLocalization is a plugin that allows you to switch between languages. this lib in :\n\n```bash\n/path/to/utils/lang.ts\n```\n\n`LanguageManager` is a function-class construct when app.vue before mounted.\nthis lib depend on [@intlify/vue3](https://github.com/intlify/vue3)\nlang construct inside `AppSetup()` in `/path/to/app.vue` :\\\n\n```vue\n\u003c!-- /path/to/app.vue --\u003e\n\u003cscript lang=\"ts\" setup\u003e\nimport { AppSetup } from '~/utils/app'\n// app setup\nAppSetup()\n\u003c/script\u003e\n```\n\nTo change language, you can direct set language from state `lang.setting`, example :\n\n```vue\n\u003cscript lang=\"ts\" setup\u003e\nconst langSetting = useState\u003cstring\u003e('locale.setting')\nlangSetting.value = 'en'\n\u003c/script\u003e\n```\n\nWhen you change state `locale.setting`, it will automatically change language.\n\n### Generate Locales\n\nI made an automatic tool to automatically translate to all languages ​​that have been prepared in the ./locales/ folder\nSo, you can just update \"locales/en.yml\" and run this tools, it will automatically translate to all languages.\n\nYou can just run :\n\n```bash\npnpm generate:locales\n\n# or :\n\nnode ./tools/translator.js ./locales en.yml\n```\n\n### Icons\n\n### Precommit and Postmerge\n\nThis project using husky and commitlint for precommit and postmerge.\nwhen you commit, it will check your commit message and running \"pnpm lint-staged\" to check your staged files.\nconfiguration in : `/path/to/.husky/pre-commit` and `/path/to/commitlint.config.js`\n\nAnd when Postmerge, it will run \"pnpm\" to automatically install new dependencies.\nconfiguration in `/path/to/.husky/post-merge`\n\n## list of endpoints\n\n### Auth\n\n| Status | Endpoint Description    | Method | Path                             |\n| ------ | ----------------------- | ------ | -------------------------------- |\n| [x]    | Login                   | POST   | `/api/v1/auth/login`             |\n| [ ]    | Register                | POST   | `/api/v1/auth/register`          |\n| [ ]    | Logout                  | POST   | `/api/v1/auth/logout`            |\n| [x]    | Reset Password          | POST   | `/api/v1/auth/reset-password`    |\n| [x]    | Forgot Password         | POST   | `/api/v1/auth/forgot-password`   |\n| [x]    | Change Password         | POST   | `/api/v1/auth/change-password`   |\n| [x]    | Send Verification Email | POST   | `/api/v1/auth/send-verify-email` |\n| [x]    | Verify Email            | POST   | `/api/v1/auth/verify-email`      |\n| [ ]    | Check Token             | POST   | `/api/v1/auth/check-token`       |\n| [ ]    | Refresh Token           | POST   | `/api/v1/auth/refresh-token`     |\n| [x]    | Verify OTP              | POST   | `/api/v1/auth/otp/verify`        |\n| [x]    | Disable OTP             | POST   | `/api/v1/auth/otp/disable`       |\n| [x]    | Validate OTP            | POST   | `/api/v1/auth/otp/validate`      |\n| [x]    | Generate OTP            | POST   | `/api/v1/auth/otp/generate`      |\n\n### Users\n\n| Status | Endpoint Description    | Method | Path                                 |\n| ------ | ----------------------- | ------ | ------------------------------------ |\n| [ ]    | Get all current user    | GET    | `/api/v1/users/current`              |\n| [ ]    | Get user by username    | GET    | `/api/v1/users/username/:username`   |\n| [ ]    | Get all users           | GET    | `/api/v1/users`                      |\n| [ ]    | Get a user by ID        | GET    | `/api/v1/users/:id`                  |\n| [ ]    | Update user by ID       | PATCH  | `/api/v1/users/:id`                  |\n| [ ]    | Delete user by ID       | DELETE | `/api/v1/users/:id`                  |\n| [ ]    | Get permissions by user | GET    | `/api/v1/users/:user_id/permissions` |\n| [ ]    | Get posts by user       | GET    | `/api/v1/users/:user_id/posts`       |\n| [ ]    | Get roles by user       | GET    | `/api/v1/users/:user_id/roles`       |\n| [ ]    | Get comments by user    | GET    | `/api/v1/users/:user_id/comments`    |\n\n### Roles\n\n| Status | Endpoint Description    | Method | Path                                 |\n| ------ | ----------------------- | ------ | ------------------------------------ |\n| [ ]    | Get all roles           | GET    | `/api/v1/roles`                      |\n| [ ]    | Get role by ID          | GET    | `/api/v1/roles/:id`                  |\n| [ ]    | Create a role           | POST   | `/api/v1/roles`                      |\n| [ ]    | Update role by ID       | PATCH  | `/api/v1/roles/:id`                  |\n| [ ]    | Delete role by ID       | DELETE | `/api/v1/roles/:id`                  |\n| [ ]    | Get permissions by role | GET    | `/api/v1/roles/:role_id/permissions` |\n| [ ]    | Get users by role       | GET    | `/api/v1/roles/:role_id/users`       |\n\n### Posts\n\n| Status | Endpoint Description       | Method | Path                              |\n| ------ | -------------------------- | ------ | --------------------------------- |\n| [ ]    | Get all current user posts | GET    | `/api/v1/posts/current-user`      |\n| [ ]    | Get all posts              | GET    | `/api/v1/posts`                   |\n| [ ]    | Get post by ID             | GET    | `/api/v1/posts/:id`               |\n| [ ]    | Create a post              | POST   | `/api/v1/posts`                   |\n| [ ]    | Update post by ID          | PATCH  | `/api/v1/posts/:id`               |\n| [ ]    | Delete post by ID          | DELETE | `/api/v1/posts/:id`               |\n| [ ]    | Get users by post          | GET    | `/api/v1/posts/:post_id/user`     |\n| [ ]    | Get comments by post       | GET    | `/api/v1/posts/:post_id/comments` |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcliuno%2Fcliuno-vue-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcliuno%2Fcliuno-vue-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcliuno%2Fcliuno-vue-template/lists"}