Vueniverse
Full stack, user based, PWA, Vue template.
Install / Use
/learn @rlindskog/VueniverseREADME
Welcome to Vueniverse!
<img height="300px" src="https://cdn.rawgit.com/rlindskog/vueniverse/master/template/src/client/assets/img/vueniverse_logo.svg"/> Vueniverse is a full-stack JavaScript starter project. Some of the features that comes baked in include:- PWA by default, 100/100 lighthouse PWA score.
- Universal es2015 JavaScript. No more context switching between client/server code!
- A REST API, and full user authentication with JWT, Redis blacklisting, and MongoDB.
- Client Side routing, Server Side Rendering and Global State Management thanks to Vuejs and Nuxtjs!
- Abstracted WebPack build process.
- Universal HMR for a clean development process, thanks to Nuxtjs and BackPack.
- Ready for deployment with NOW
Live Demo It might take a while to load if it's asleep.
You must have vue-cli installed.
npm install -g vue-cli
Create Project
vue init rlindskog/vueniverse {{ your-project-name }}
cd {{ your-project-name }}
npm install
Start a MongoDB database locally
npm run start-db
Stop the MongoDB database locally
npm run stop-db
Run in development
npm run dev
Build for production
npm run build
Run in production (runs the database and application in a subprocess)
npm run start
Stop production running (stops the database and application)
npm run stop
Start a Redis database locally (use this if you chose the redis session option)
$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make
$ # wait for it to install...
$ sudo cp src/redis-server /usr/local/bin/
$ sudo cp src/redis-cli /usr/local/bin/
Then run
redis-server
Deploy with NOW
npm install -g now-cli
You will have to make a database else where, I recommend the Atlas free teir. When you do, paste the url to the DB_URL and a random SECRET variable to the secrets.json file.
Also, 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 free tier. Once you make your Redis session, add SESSION_HOST, SESSION_PORT, and SESSION_PASSWORD to the secrets.json file.
Then run...
npm run deploy
If you have any problems, please don't hesitate to create an issue!
FUTURE TODO
- Create an admin interface! (currently working on)
- 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).
- vue-cli option to choose between PostgreSQL and MongoDB (MongoDB currently implemented)
- vue-cli option to choose between AirBNB and Standard Linting Style.
- vue-cli option to include unit/e2e tests.
Pull requests welcome!
Related Skills
node-connect
352.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
