• Stars
    star
    184
  • Rank 209,187 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

More Repositories

1

binance-trading-bot

Automated Binance trading bot - Trade multiple cryptocurrencies. Buy low/sell high with Grid Trading. Integrated with TradingView technical analysis
JavaScript
4,996
star
2

yii2-angular-boilerplate

Yii2 REST API + Angular 12 Boilerplate (Frontend/Backend)
TypeScript
224
star
3

vagrant-scalable-web-application-architecture

Vagrant, Consul, Consul Template, nginx for Apache load balancing, HAProxy for MySQL server load balacing, Scalable web application
Shell
13
star
4

vagrant-mysql-master-slave-replication

Vagrantfile to spin up MySQL Master-Slave replication
Shell
10
star
5

nodejs-mongodb-api-boilerplate

A boilerplate for Node.js RESTful API with MongoDB
JavaScript
9
star
6

docker-swarm-scalable-web-application-architecture

Docker Machine, Docker Swarm, Docker Registry, Docker Service, Docker Build
Shell
8
star
7

k8s-nodejs-vuejs-mysql-boilerplate

Kubernetes sample project for Node.js (REST API) + Vue.js (Frontend/Backend) + MySQL Boilerplate
HCL
7
star
8

time-clock-management-system-yii2-rest-api-angular2-docker

Time Clock Management System developed with Yii2 REST API + Angular 2 + Docker
CSS
6
star
9

kakao-plusfriend-bot-backend

์นด์นด์˜ค i ์˜คํ”ˆ๋นŒ๋” (Kakao i Open Builder)๋ฅผ ์ด์šฉํ•œ ํ”Œ๋Ÿฌ์Šค ์นœ๊ตฌ ์ฑ—๋ด‡ (PHP + MySQL) ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ
PHP
3
star
10

langchain-playground

A LangChain playground using TypeScript
TypeScript
3
star
11

react-native-boilerplate

A React Native boilerplate using Navigation, Redux Toolkit, Redux Persist, Bootsplash, Onboarding, Formik+Yup, Lottie, Axios and JWT
JavaScript
3
star
12

image-optimisation

Image Optimisation Service
JavaScript
3
star
13

ip-echo

Print request IP address the simplest way
JavaScript
2
star
14

exposure-sites-notification

COVID-19 Exposure Sites Notification Bot for Victoria/Australia
JavaScript
1
star
15

chrisleekr

1
star
16

homelab-infrastructure

Provisioning Kubernetes with k3s, Ansible and Terraform
HCL
1
star
17

proxmox-k8s-iac

Provisioning Kubernetes on Proxmox with Ansible and Terraform
Shell
1
star