brianfeister / large

Vue + Express + Sqlite mock blogging platform example project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Large

Vue + Express + Sqlite mock blogging platform example project

The name is a joke about another well-known blogging platform. Basically, I wanted to tinker around with the JSON-based editor called tiptap.

Getting started

  1. Clone this repo
  2. You'll need two shell windows to run the project, and you'll need node (v8+), yarn, and npm installed globally
  3. In the first shell cd <project root>/client && yarn install && yarn start
  4. In the second shell cd <project root>/server && npm install && npm start
  5. Navigate to localhost:8082 in your browser
  6. Register a user
  7. Create a post

What this project does

  1. Allows you to register, create a user (as a joke, it rejects any non-gmail accounts)
  2. Create a post
  3. Save a post
  4. Delete posts
  5. Read-only list view of HTML preview of posts from JSON doc representation stored in sqlite db
  6. View posts from all users
  7. View posts created by the current user
  8. Uses vuex to store user & token
  9. Login state persists

What I want to make it do

  1. The vue-material library is I think mostly abandoned, I think the active library in the community is actually vuetifyjs
  2. Fix a handful of janky styling issues in the editor views
  3. Get passport or similar middleware in there and prevent users from deleting each other's posts, though the communal sharing of all posts is also pretty amusing
  4. Errors and error codes by the server are not properly organized and represented by error classes with custom messages / correct status codes as they should be
  5. Stretch goal was to send an HTML representation to a 3rd party platform via a Publish External type button (probably WP via the WP API plugin), didn't get to that yet

About

Vue + Express + Sqlite mock blogging platform example project

License:MIT License


Languages

Language:JavaScript 57.8%Language:Vue 39.9%Language:Dockerfile 1.9%Language:HTML 0.4%