{"id":15013409,"url":"https://github.com/chris-visser/meteor-vue-admin","last_synced_at":"2025-04-12T04:43:17.554Z","repository":{"id":102004668,"uuid":"162142998","full_name":"chris-visser/meteor-vue-admin","owner":"chris-visser","description":"A fully functional Meteor + Vue admin system with Meteor account integration.","archived":false,"fork":false,"pushed_at":"2019-01-23T21:11:32.000Z","size":371,"stargazers_count":29,"open_issues_count":6,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-04T16:06:07.386Z","etag":null,"topics":["admin","cms","meteorjs","vuejs2","vuetify"],"latest_commit_sha":null,"homepage":null,"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/chris-visser.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":"2018-12-17T14:29:25.000Z","updated_at":"2024-06-12T12:09:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"c607cae1-7400-4b52-b509-25c914478eee","html_url":"https://github.com/chris-visser/meteor-vue-admin","commit_stats":{"total_commits":41,"total_committers":1,"mean_commits":41.0,"dds":0.0,"last_synced_commit":"2080149de7c36d0ea57fa69a95e722aba57fcdbc"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chris-visser%2Fmeteor-vue-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chris-visser%2Fmeteor-vue-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chris-visser%2Fmeteor-vue-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chris-visser%2Fmeteor-vue-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chris-visser","download_url":"https://codeload.github.com/chris-visser/meteor-vue-admin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239879318,"owners_count":19712176,"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":["admin","cms","meteorjs","vuejs2","vuetify"],"created_at":"2024-09-24T19:44:14.845Z","updated_at":"2025-02-20T21:30:54.634Z","avatar_url":"https://github.com/chris-visser.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is a fully functional admin system in the form of a boilerplate. \nIt shows how Meteor, Vue and Vuetify make the ideal toolset to create dynamic, modular and \nscalable admin systems.\n\nThe code is structured according to Vue and Meteor best practices along with the Vuetify design system (Material).\n\n- Meteor's account system: Login, Registration, Access Control, Forgot Password\n- Feature based structure as best practice for mid size and large apps\n- User Management + Roles\n- Ability to choose between modal based or redirect based authentication\n- Todo Management as CRUD Example (Create Read Update Delete) \n- Realtime as the default, static as the option.\n- A convenient Vuex controlled messaging system to notify users  \n- Eslint configured for Meteor + Vue to guard code-style\n\n## Getting Started\n\nRun the below command to install the dependencies. \n\n\u003eNote that when you don't have a copy of Meteor \ninstalled on you development environment, this will install it automatically for you.\n\n```sh\nnpm install\n```\n\nThen start the app in development mode:\n\n```sh\nnpm start\n```\n\nVisit http://localhost:3000 and you are up and running!\n\n\u003e Optionally you can switch to a modal based authentication flow by setting the 'gatewayMode' in your `./src/settings.json`.\n\n### First time visit\nOn first time visit you will ofcourse have to register a new account. The first account \nregistered will automatically get 'owner' privileges. \n\nE-mails are not yet sent at this point. A nice Meteor feature is that when that's the case, \nthe mail contents end up in your console. This allows you to click on the verification link \nfrom the console.\n\nTo make use of the e-mail system, \n[set the MAIL_URL environment variable according to the Meteor docs.](https://docs.meteor.com/api/email.html)\n\n## Documentation\nThe documentation is a continuous work in progress. \nThe goal is to have it fully documented and maybe have a dedicated guide. \n\nIf you feel that stuff is missing from the docs or have any struggles. Please file an issue here on Github or create a topic on the \n[Meteor Forum](https://forums.meteor.com/)!\n\nEach feature folder has its own README.md that contains a bit more in dept information about \nwhat it does and how its implemented. Feel free to have a look:\n\n- [The Auth Readme](https://github.com/chris-visser/meteor-vue-admin/blob/master/src/app/features/auth/README.md)\n- [The Notifications Readme](https://github.com/chris-visser/meteor-vue-admin/blob/master/src/app/features/notifications/README.md)\n- The Users Readme (TODO)\n- The Todos Readme (TODO)\n\n## TODOs\n\n- Introduce semver\n- Document features, plugins, components.. Maybe creat a guide...\n- Implement edit functionality\n- Start testing, its not a POC anymore :)\n- Make pluggable features via NPM packages\n\n## App Directory Structure\nThe structure of the app follows\n\n### components\nThis folder should contain all the generic Vue components. Right now it only contains \nsome layout specific components.\n\n### core\nThis folder contains the initialization code that should not have to be changed unless you want to change \nthe way the app loads its core functionality. Examples of this functionality are the router, store, app initialization and asyncData calls.\n\n### Features\nContains all of the system's features as self-contained modules. More info follows..\n\n### filters\nThis is where you put generic [Vue filters](https://vuejs.org/v2/guide/filters.html) that are shared across multiple components. An example would be a standardized \nway to format dates.\n\n### layouts\nMultiple layouts are supported. This is where you add or modify them. If no layout is configured for a page, \nthe 'admin' layout is loaded. The intention is that you use [Vue Slots](https://vuejs.org/v2/guide/components-slots.html) \nto determine where the page is loaded. \n\nSimply put `\u003cslot /\u003e` on your layout where you want each page to be rendered.\n\n### pages\nPages are Vue components that are directly connected to routes. \nOnly generic pages should go here. They can be added in the `routes.js`. \nThe page is rendered on a designated spot within the configured layout.\n\nThis folder should not contain the feature specific routes, because they should \nbe added to the pages folder of the feature itself. For example, the Login page is \nlocated in `./src/app/features/auth/pages`. This one is referenced in `./src/app/features/auth/routes`. \n\n### plugins\nPut all VueJS plugins here\n\n### store\nThis is the global Vuex store where all of the Vuex store modules are loaded. \nThe store already adds the `user` and `notifications` feature store modules. \n\n### routes.js\nContains the global routes, but also imports feature routes, added with the spread operator.\nThis allows features to hook into the existing routes list.\n\n### config.js\nA centralized place where you can initialize global components and other things if needed. \nRight now it just initializes the 2 layouts `AdminLayut` and `GatewayLayout`.\n\n### index.html\n\nThis index.html allows you to add stuff to the head and body area if needed. \nRight now it just contains refs to the Roboto font and the Vuetify styles.\n\n## Contribution\n\nIf you found a bug or have a request for a feature, then please open an issue. If you \nwant to contribute then feel free to fork this repo and file a merge request. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchris-visser%2Fmeteor-vue-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchris-visser%2Fmeteor-vue-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchris-visser%2Fmeteor-vue-admin/lists"}