All Projects → chrisleekr → nodejs-vuejs-mysql-boilerplate

chrisleekr / nodejs-vuejs-mysql-boilerplate

Licence: MIT license
Node.js (REST API) + Vue.js/Nuxt.js (Frontend/Backend) + MySQL Boilerplate

Programming Languages

javascript
184084 projects - #8 most used programming language
Vue
7211 projects
HTML
75241 projects
Dockerfile
14818 projects
CSS
56736 projects
shell
77523 projects
SCSS
7915 projects

Projects that are alternatives of or similar to nodejs-vuejs-mysql-boilerplate

Vuesion
Vuesion is a boilerplate that helps product teams build faster than ever with fewer headaches and modern best practices across engineering & design.
Stars: ✭ 2,510 (+1773.13%)
Mutual labels:  jest, nuxtjs, cypress
glific-frontend
Frontend for the Glific platform
Stars: ✭ 18 (-86.57%)
Mutual labels:  jest, cypress
split-tests
Split test files in Jest and Cypress into parallel CI jobs
Stars: ✭ 22 (-83.58%)
Mutual labels:  jest, cypress
typescript-nuxtjs-boilerplate
🍱 Nuxt.js with TypeScript and Run with docker and docker-compose 🐶🦄🔥 visit: https://typescript-nuxtjs-boilerplate.netlify.com/example
Stars: ✭ 51 (-61.94%)
Mutual labels:  jest, nuxtjs
Router Extras Module
Extra Add-ons For Nuxt Router
Stars: ✭ 194 (+44.78%)
Mutual labels:  vue-router, nuxtjs
Vuemmerce
👉 Responsive ecommerce template 🛒 built with Vue.js and Nuxt.js
Stars: ✭ 223 (+66.42%)
Mutual labels:  vue-router, nuxtjs
vuetibook
Integrating Vue.js, Vuetify and Storybook
Stars: ✭ 16 (-88.06%)
Mutual labels:  jest, vue-router
jooger.me
👍 My personal website,powered by @nuxt
Stars: ✭ 39 (-70.9%)
Mutual labels:  vue-router, nuxtjs
nuxt-boilerplate
Nuxt.js Boilerplate
Stars: ✭ 25 (-81.34%)
Mutual labels:  jest, nuxtjs
Wemake Vue Template
Bleeding edge vue template focused on code quality and developer happiness.
Stars: ✭ 645 (+381.34%)
Mutual labels:  jest, nuxtjs
Parcel Vue Ts
📦 Boilerplate for Vue.js & Typescript, base on Parcel bundler.
Stars: ✭ 49 (-63.43%)
Mutual labels:  jest, vue-router
Vue Soundcloud
🎧 A SoundCloud client built with Vue and Nuxt
Stars: ✭ 141 (+5.22%)
Mutual labels:  vue-router, nuxtjs
Laravel Vuejs.com
Laravel and VueJs Blog, using Laravel nova, GraphQL, NuxtJs, Apollo and ...more
Stars: ✭ 54 (-59.7%)
Mutual labels:  vue-router, nuxtjs
nextjs-starter-kit
NextJS Starter Kit with Testing Frameworks and CI/CD
Stars: ✭ 30 (-77.61%)
Mutual labels:  jest, cypress
Vuecnodejs
⚽️🎉Vue初/中级项目,CnodeJS社区重构。( a junior project of Vue.js, rewrite cnodejs.org ) 预览(DEMO):
Stars: ✭ 705 (+426.12%)
Mutual labels:  vue-router, nuxtjs
eslint-config-adjunct
A reasonable collection of plugins to use alongside your main esLint configuration
Stars: ✭ 39 (-70.9%)
Mutual labels:  jest, cypress
Bootstrap Vue
BootstrapVue provides one of the most comprehensive implementations of Bootstrap v4 for Vue.js. With extensive and automated WAI-ARIA accessibility markup.
Stars: ✭ 13,603 (+10051.49%)
Mutual labels:  nuxtjs, bootstrapvue
Eldin-Space-Vue
Personal Web Portfolio
Stars: ✭ 54 (-59.7%)
Mutual labels:  vue-router, vuelidate
awesome-address-book
This project shows a basic address book built with ReactJS, Redux Toolkit and Typescript 📖
Stars: ✭ 20 (-85.07%)
Mutual labels:  jest, cypress
ng-nest-cnode
Angular 10 Front-End and Nestjs 7 framework Back-End build Fullstack CNode
Stars: ✭ 17 (-87.31%)
Mutual labels:  jest, cypress

Node.js (REST API) + Vue.js/Nuxt.js (Frontend/Backend) + MySQL Boilerplate

This is a boilerplate project. The project contains Node.js REST API and frontend/backend developed by Vue.js with BootstrapVue.

  • API
    • Node.js, Express, Webpack, Express Validator, JWT, Bunyan, Promise MySQL, Node Mailer, Jest, Supertest, Nodemon, DB migrate
  • Frontend - Nuxt.js
    • Nuxt.js, Vue.js, Vuex, Vuelidate, BootstrapVue, Jest
  • Frontend - Vue.js
    • Vue.js, Vuex, Vue Router, Vue Draggable, Vuelidate, BootstrapVue, Jest, Cypress
  • Backend
    • Vue.js, Vuex, Vue Router, Vuelidate, BootstrapVue, Jest, Cypress

Demo

Service Endpoint
API https://nvm-boilerplate.chrislee.kr/api/
Frontend - Nuxt.js https://nvm-boilerplate.chrislee.kr/frontend-nuxt/
Frontend - Vue.js https://nvm-boilerplate.chrislee.kr/frontend-vue/
Backend https://nvm-boilerplate.chrislee.kr/backend/
Mailhog https://nvm-boilerplate.chrislee.kr/mailhog/

How to start in your local environment

$ docker-compose up -d

Once docker containers are up, then you can access services with below URL.

Service Endpoint
API http://localhost/api
Frontend - Nuxt.js http://localhost/frontend-nuxt
Frontend - Vue.js http://localhost/frontend-vue
Backend http://localhost/backend
Mailhog http://localhost/mailhog
MySQL localhost:3307

There are three users in the database initially. You can use them to login Frontend/Backend.

Service Username Email Password
Backend admin [email protected] 123456
Backend staff [email protected] 123456
Frontend user [email protected] 123456

API

API docker container will be launched as development mode with nodemon. However, it won't detect any changes unless uncomment volumes.

To enable live change for the API, simply uncomment following lines in docker-compose.yml

  volumes:
    - ./api:/srv

Please make sure you run npm install in the api folder.

Frontend & Backend

Currently, Frontend (Nuxt.js/Vue.js) and Backend docker container is configured to serve production mode due to the limitation of setting development environment of Vue.js in sub directory.

If you want to have Hot Reload feature, then you should launch the Frontend separately by npm run serve.

cd frontend-vue
npm run serve

# or

cd frontend-nuxt
npm run dev

# or

cd backend
npm run serve

Then access Frontend - Nuxt.js with http://localhost:3000, Frontend - Vue.js with http://localhost:8080 and Backend with http://localhost:8081 via your browser.

Mailhog

Currently, API is configured to point Mailhog to send an email. Any email sent by the API can be viewed in Mailhog web interface.

Access via your browser http://localhost/mailhog

MySQL

MySQL port is mapped to 3307.

Features

  • API

    • Database migration
  • Frontend - Vue.js

    • User registration
    • Confirm user email address
    • Reset user password
    • User login/logout
    • Manage todo
    • Manage account information
  • Frontend - Nuxt.js

    • Support all features that "Frontend - Vue.js"
    • Server Side Render (SSR)
  • Backend

    • Staff login/logout
    • Staff permission management
    • List todo
    • Manage users
    • Manage staffs
    • Manage settings
  • CI/CD

    • Gitlab: .gitlab-ci.yml
    • Github: .github/workflows/main.yml

Todo

  • Unit tests
  • E2E tests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].