{"id":13506800,"url":"https://github.com/rlindskog/vueniverse","last_synced_at":"2025-04-09T12:05:16.151Z","repository":{"id":94506756,"uuid":"81411844","full_name":"rlindskog/vueniverse","owner":"rlindskog","description":"Full stack, user based, PWA, Vue template.","archived":false,"fork":false,"pushed_at":"2018-11-12T02:49:56.000Z","size":495,"stargazers_count":335,"open_issues_count":12,"forks_count":48,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-04-02T06:08:04.573Z","etag":null,"topics":["code-splitting","hot-reload","isomorphic","isomorphic-applications","universal-app","vue","vuejs","vuejs2","webpack","webpack2"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rlindskog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-02-09T05:15:40.000Z","updated_at":"2024-07-16T07:41:19.000Z","dependencies_parsed_at":"2023-07-28T06:00:55.185Z","dependency_job_id":null,"html_url":"https://github.com/rlindskog/vueniverse","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/rlindskog%2Fvueniverse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rlindskog%2Fvueniverse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rlindskog%2Fvueniverse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rlindskog%2Fvueniverse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rlindskog","download_url":"https://codeload.github.com/rlindskog/vueniverse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248036063,"owners_count":21037092,"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":["code-splitting","hot-reload","isomorphic","isomorphic-applications","universal-app","vue","vuejs","vuejs2","webpack","webpack2"],"created_at":"2024-08-01T01:00:58.001Z","updated_at":"2025-04-09T12:05:16.127Z","avatar_url":"https://github.com/rlindskog.png","language":"JavaScript","funding_links":[],"categories":["Uncategorized","JavaScript","Scaffold [🔝](#readme)","脚手架","Components \u0026 Libraries","Scaffold"],"sub_categories":["Uncategorized","通用的","Scaffold","Universal"],"readme":"Welcome to Vueniverse!\n===================\n\u003cimg height=\"300px\" src=\"https://cdn.rawgit.com/rlindskog/vueniverse/master/template/src/client/assets/img/vueniverse_logo.svg\"/\u003e\nVueniverse is a full-stack JavaScript starter project. Some of the features that comes baked in include:\n\n - PWA by default, 100/100 lighthouse PWA score.\n - Universal es2015 JavaScript.  No more context switching between client/server code!\n - A REST API, and full user authentication with JWT, Redis blacklisting, and MongoDB.\n - Client Side routing, Server Side Rendering and Global State Management thanks to Vuejs and Nuxtjs!\n - Abstracted WebPack build process.\n - Universal HMR for a clean development process, thanks to Nuxtjs and BackPack.\n - Ready for deployment with [NOW](https://zeit.co/now)\n\n[Live Demo](https://vueniverse.now.sh) It might take a while to load if it's [asleep](https://zeit.co/docs/deployment-types/node#deployment-inactivity).\n\n*You must have [vue-cli](https://github.com/vuejs/vue-cli)* installed.\n\n    npm install -g vue-cli\n\n**Create Project**\n\n    vue init rlindskog/vueniverse {{ your-project-name }}\n    cd {{ your-project-name }}\n    npm install\n\n**Start a MongoDB database locally**\n\n    npm run start-db\n\n**Stop the MongoDB database locally**\n\n    npm run stop-db\n\n**Run in development**\n\n    npm run dev\n\n**Build for production**\n\n    npm run build\n\n**Run in production (runs the database and application in a subprocess)**\n\n    npm run start\n    \n**Stop production running (stops the database and application)**\n\n    npm run stop\n\n**Start a Redis database locally (use this if you chose the redis session option)**\n\n[Install](https://redis.io/topics/quickstart)\n\n    $ wget http://download.redis.io/redis-stable.tar.gz\n    $ tar xvzf redis-stable.tar.gz\n    $ cd redis-stable\n    $ make\n    $ # wait for it to install...\n    $ sudo cp src/redis-server /usr/local/bin/\n    $ sudo cp src/redis-cli /usr/local/bin/\n\nThen run\n    \n    redis-server\n\n**Deploy with [NOW](https://zeit.co/now)**\n\n    npm install -g now-cli\n\nYou will have to make a database else where, I recommend the [Atlas free teir](https://www.mongodb.com/cloud/atlas). When you do, paste the url to the DB_URL and a random SECRET variable to the secrets.json file.\n\nAlso, if you decided to use the Redis option instead of in-memory (highly recommended), then you will have to create a Redis session store else where as well.  I recommend the [Redis Labs](https://redislabs.com/) free tier. Once you make your Redis session, add SESSION_HOST, SESSION_PORT, and SESSION_PASSWORD to the secrets.json file.\n\nThen run...\n\n    npm run deploy\n\nIf you have any problems, please don't hesitate to create an issue!\n\n**FUTURE TODO**\n - Create an admin interface! (currently working on)\n - Create a few more NPM convenience commands, such as \"create-admin-user\" and \"create-app\" (which would create an MVC folder in the API, and add a page on the admin interface).\n - vue-cli option to choose between PostgreSQL and MongoDB (MongoDB currently implemented)\n - vue-cli option to choose between AirBNB and Standard Linting Style.\n - vue-cli option to include unit/e2e tests.\n\n \n**Pull requests welcome!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frlindskog%2Fvueniverse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frlindskog%2Fvueniverse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frlindskog%2Fvueniverse/lists"}