All Projects → ezy → seedpress-cms

ezy / seedpress-cms

Licence: MIT license
A headless CMS built in Express for PostgresQL using Sequelize. Generally follows the Wordpress post and term schema.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to seedpress-cms

teanjs
🔥 TypeORM - Express - Angular 8 - NestJS Server Side Rendering (SSR) 😺
Stars: ✭ 62 (-12.68%)
Mutual labels:  passport, passport-local, passport-jwt
node-url-shortener
URL Shortener in Base58 using Node.js, Express, Sequelize, Mocha and Bootstrap
Stars: ✭ 21 (-70.42%)
Mutual labels:  mocha, sequelize
node-server-template
This is Node.js server tidy template / boilerplate with Express (with asyncified handlers, custom error handler) framework and MongoDb. The server use ES6 and above. On different branches you can see different techniques' and technologies' usage, such as Kafka, nodemailer, file download... You also can find postman collections.
Stars: ✭ 116 (+63.38%)
Mutual labels:  mocha, sequelize
wily
Build Node.js APIs from the command line (Dead Project 😵)
Stars: ✭ 14 (-80.28%)
Mutual labels:  mocha, sequelize
nest-blog-api
Blog Web API with NestJs, Postgres, and Sequelize ORM
Stars: ✭ 69 (-2.82%)
Mutual labels:  sequelize, sequelize-orm
Next Postgres Sequelize
React 16.8.4 + NextJS 8.0.3 + Emotion + Sequelize 5/Postgres + Passport Local Auth + Google App Engine or Heroku Deployment
Stars: ✭ 176 (+147.89%)
Mutual labels:  sequelize, passport
nodejs-integration-testing
Integration testing of a Node.js / Express.js / Sequelize app
Stars: ✭ 23 (-67.61%)
Mutual labels:  mocha, sequelize
sequelize-connect
A simple connection wrapper for the sequelize ORM, making it easier to configure and build models & connections.
Stars: ✭ 37 (-47.89%)
Mutual labels:  sequelize, sequelize-orm
nodejs-application-architecture
👨‍🔧 A discussion on how Node.js projects can be organized.
Stars: ✭ 81 (+14.08%)
Mutual labels:  mocha, sequelize
http-auth
Node.js package for HTTP basic and digest access authentication.
Stars: ✭ 364 (+412.68%)
Mutual labels:  mocha, passport
Http Auth
Node.js package for HTTP basic and digest access authentication.
Stars: ✭ 355 (+400%)
Mutual labels:  mocha, passport
Nodejs-Tutorials
Nodejs Tutorial
Stars: ✭ 38 (-46.48%)
Mutual labels:  sequelize, sequelize-orm
hapi-sequelizejs
A hapi.js plugin to connect with Sequelize ORM
Stars: ✭ 56 (-21.13%)
Mutual labels:  sequelize, sequelize-orm
Ansible Osx Command Line Tools
An Ansible role for installing OS X Command Line Tools
Stars: ✭ 57 (-19.72%)
Mutual labels:  headless, mit-license
sequelize-slugify
Sequelize Slugify is a plugin for the Sequelize ORM that automatically creates and updates unique, URL safe slugs for your database models.
Stars: ✭ 49 (-30.99%)
Mutual labels:  sequelize, sequelize-orm
template-server-nodejs
No description or website provided.
Stars: ✭ 20 (-71.83%)
Mutual labels:  mocha, sequelize
Typescript Restful Starter
Node.js + ExpressJS + Joi + Typeorm + Typescript + JWT + ES2015 + Clustering + Tslint + Mocha + Chai
Stars: ✭ 97 (+36.62%)
Mutual labels:  mocha, sequelize
auth-quickstart
Authentication Quickstart with Express, Passport and Sequelize
Stars: ✭ 49 (-30.99%)
Mutual labels:  sequelize, passport
sequelize-mig
Sequelize migration generator and es6 init tool (Planned)
Stars: ✭ 54 (-23.94%)
Mutual labels:  sequelize, sequelize-cli
express-mysql-rest
Building the simple api with sequelize, mysql and express js. this repository contains the code about how to use sequelize with mysql at express js. for example i have provide the crud operation to this repository. You can also testing the api with chai and mocha with chai-http by this repository
Stars: ✭ 25 (-64.79%)
Mutual labels:  mocha, sequelize

🌱 Seedpress Express API

Build Status codecov.io License: MIT Twitter Follow

Seedpress is a headless Node JS API server built with Express, for PostgreSQL using Sequelize ORM. It generally follows the logic and conventions of the Wordpress schema. Seedpress authenticates users using JSON web tokens managed by Passport. It's production ready, and should work as a great starter for any content based Progressive Web Application.

Hosting

Testing

Features

  • Authentication with JSON Web Token
  • Email, Password validations
  • User login and registration
  • Full API and Unit test coverage
  • Page and Term models with belongsToMany two way relationship
  • Easily deployable to Heroku (Procfile)

Schema

  • Post

    • id
    • postTitle
    • postSlug
    • postType
    • postDate
    • postContent
    • postAuthor
    • postImage
    • postMedia
    • postStatus
    • postExpiry
    • postFrequency
    • postTerms
    • createdAt
    • updatedAt
  • Terms

    • id
    • termType
    • termName
    • createdAt
    • updatedAt
  • PostTerms

    • termId
    • postId
    • createdAt
    • updatedAt

To run locally

Make sure to install and run PostgreSQL first. There are a list of package.json scripts that include core sequelize migrations and seeds.

brew update
brew install postgres

Then you'll need to adjust the config file config/config.js to suit your setup.

Then run yarn reset and your db will create from scratch and seed data under the db name seedpress_dev.

Running yarn dev will start your dev server where needed.

Testing

You'll need to setup the test server using yarn resettest. To trigger the mocha/chai tests enter:

yarn test

Postman

There is a postman collection file for API testing and development in test/seedpress-api.postman_collection.json. It contains scripts and basic CRUD for:

  • /auth

    • [POST] Register (/register)
    • [POST] Login (/login)
  • /posts

    • [POST] Single post (/ - with auth)
    • [PATCH] Single post (/:slug - with auth)
    • [DEL] Single post (/:slug - with auth)
    • [GET] All posts (/)
    • [GET] Single post (/:slug)

To deploy on Heroku

heroku login
heroku create
git push heroku master

Sequelize ORM

Seedpress uses Sequelise ORM to interact with Postgres. Install globally on your dev machine using yarn global sequelize-cli then run commands with sequelize or alternately run commands locally in your dev folder with the built in dev package ./node_modules/.bin/sequelize init.

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].