All Projects → connor11528 → Sequelize Bookmarks

connor11528 / Sequelize Bookmarks

Sequelize ORM application with Express 4 server, Webpack and Vue.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Sequelize Bookmarks

Crate
👕 👖 📦 A sample web and mobile application built with Node, Express, React, React Native, Redux and GraphQL. Very basic replica of stitchfix.com / krate.in (allows users to get monthly subscription of trendy clothes and accessories).
Stars: ✭ 2,281 (+2583.53%)
Mutual labels:  webpack, sequelize, mysql
Manhuaren
vue2.0全家桶,仿漫画人官网(移动端)
Stars: ✭ 18 (-78.82%)
Mutual labels:  webpack, vuejs2
Easy Vue
Learn vueJS Easily 👻
Stars: ✭ 896 (+954.12%)
Mutual labels:  webpack, vuejs2
Express
Express + Sequelize + Winston + Jasmine + TypeScript + Webpack MVC Boilerplate
Stars: ✭ 9 (-89.41%)
Mutual labels:  webpack, sequelize
Sequelize
An easy-to-use and promise-based multi SQL dialects ORM tool for Node.js
Stars: ✭ 25,422 (+29808.24%)
Mutual labels:  mysql, sequelize
Vue Music Player
🎵Vue.js写一个音乐播放器+📖One(一个).A music player + One by Vue.js
Stars: ✭ 729 (+757.65%)
Mutual labels:  webpack, vuejs2
React Express Fullstack
Full stack (mostly unopinionated) starter pack with React+Redux and Expressjs
Stars: ✭ 23 (-72.94%)
Mutual labels:  sequelize, mysql
Underconstruction
This Laravel 8 package makes it possible for you to set your website in "Under Construction" mode. Only users with the correct 4 (or more) digit code can access your site. 🔥 💥 🔥
Stars: ✭ 549 (+545.88%)
Mutual labels:  webpack, vuejs2
Vue Multipage
Vue 多页面项目模板
Stars: ✭ 15 (-82.35%)
Mutual labels:  webpack, vuejs2
Teanblog
📄 Simple blog platform based on Egg.js
Stars: ✭ 29 (-65.88%)
Mutual labels:  sequelize, mysql
Aclify
🔒 Node Access Control Lists (ACL).
Stars: ✭ 49 (-42.35%)
Mutual labels:  sequelize, mysql
Vue Wordpress Pwa
An offline-first SPA using Vue.js, the WordPress REST API and Progressive Web Apps
Stars: ✭ 665 (+682.35%)
Mutual labels:  webpack, vuejs2
Cordova Template Framework7 Vue Webpack
Framework7 - Vue - Webpack Cordova Template with Webpack Dev Server and Hot Module Replacement
Stars: ✭ 630 (+641.18%)
Mutual labels:  webpack, vuejs2
Ghchat
📱A chat application for GitHub. React + PWA + Node(koa2) + Typescripts + Mysql + Socket.io
Stars: ✭ 791 (+830.59%)
Mutual labels:  webpack, mysql
Vue Crud
Vue.js based REST-ful CRUD system
Stars: ✭ 629 (+640%)
Mutual labels:  webpack, vuejs2
Cykspace Node
博客后台服务~~ 👉👉 http://www.cykspace.com
Stars: ✭ 23 (-72.94%)
Mutual labels:  sequelize, mysql
Ant Simple Pro
简洁,美观,快速上手,支持3大框架(vue3.0,react,angular,typescript);Concise, beautiful, quick to get started, support 3 big frameworks
Stars: ✭ 73 (-14.12%)
Mutual labels:  webpack, mysql
React Blog
react hooks + koa2 + sequelize + mysql 构建的个人博客。具备评论、通知、上传文章等等功能
Stars: ✭ 530 (+523.53%)
Mutual labels:  sequelize, mysql
Goodblog
我是koala, 公众号【程序员成长指北】的作者, 专注Node.js技术栈分享,从前端到Node.js再到后端数据库,帮您成为优秀的Node.js全栈工程师。和我一起进阶全栈吧!
Stars: ✭ 545 (+541.18%)
Mutual labels:  sequelize, mysql
Online Bling
Stars: ✭ 9 (-89.41%)
Mutual labels:  webpack, sequelize

Sequelize bookmarks application

A Javascript (Node.js) application with a MySQL database and Vue.js client application, bundled courtesy of npm and Webpack.

Vue tools

Models

There are two database models, Author and Book. Each is represented by a MySQL table.

Author

  • name:string

  • bio:text

Has Many Books

Book

  • name:string

  • isbn:integer

  • publication_date:date

  • description:text

  • author_id:integer

API Endpoints

All responses will be in JSON format.

The base url format for all endpoints is:

http://localhost:8000/api
Method URL Description
GET /authors get all the authors and all the books associated with all the authors
GET /authors/:id get an author by id and also get all the books associated with that author
POST /authors create a new author (name:string, bio:text)
PUT /authors update a new author (name:string, bio:text)
DELETE /authors delete author by passing given id field. Also deletes all books associated with that author
GET /books get all the books
GET /books/:id get a single book by passing id to params
POST /books create a new book (name:string, isbn:integer, publication_date:date, description:text, author_id:integer)
DELETE /books delete a book by passing id to params

Getting started

First clone the repo and change directories into it.

Workflow is run webpack to build out client side and node index or npm start to fire up the server. The app will run on localhost:8000

The webpack command will compile the javascripts and Vue templates into bundle.js that is in turn called by index.html. The next command will start the server and server index.html to the browser.

christianalfoni/webpack-express-boilerplate is a good example of a more advanced and integrated webpack-express build system #todo

Sequelize Notes

Below are some helper commands to get started and work around Sequelize and SQL databases with Javascript.

Define a model and migration in one command with Sequelize CLI:

$ sequelize model:create --name=Author --attributes name:string,bio:text --underscored

Run migrations (creates tables):

$ sequelize db:migrate

For seeding the initial database with Authors and Books, we use sequelize-fixtures.

MySQL helper commands

Log in to MySQL with password:

$ mysql -u root -p

Note to self: login creds are root/root for local machine

Reset the password if it needs updating:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'myNewPassword'

Create new user and give them all privileges:

mysql> CREATE USER 'admin'@'localhost';
Query OK, 0 rows affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';
Query OK, 0 rows affected (0.01 sec)

Create a MySQL database:

CREATE DATABASE bookmarks;

Winning formula for database connection is:

new Sequelize('database_name', 'database_user', 'database_password', config);
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].