/nestpress

A production ready personal blogging system on top of NestJS and NEXT.js

Primary LanguageTypeScriptMIT LicenseMIT

A production ready personal blogging system on top of NestJS and NEXT.js

Roadmaps

  • Cross Platform
  • Dark Theme
  • Authentication
  • Blogging
  • Testing

Usage

Database Setup

For Mac Users

# install postgresql
$ brew install postgresql

# if you want to start postgresql in startup, try do this
$ brew services start postgresql

# create user "nestpressuser" with password "nestpresspass"
$ createuser -P nestpressuser

# create database "nestpressdb" owened by "nestpressuser"
$ createdb nestpressdb -O nestpressuser

For Windows Users

PostgreSQL
> postgresql-11.2-1-windows-x64.exe --install_runtimes 0
pgAdmin
  • Download a latest installer at https://www.pgadmin.org/download
  • Run the pgAdmin and login with a root user
  • Right click Login/Group Roles and Create > Login/Group Role
    • General Panel:
      • Name: nestpressuser
    • Definition Panel:
      • Password: nestpresspass
    • Priviledges Panel:
      • Check all Yes
  • Right click Databases and Create > Database
    • General Tab:
      • Database: nestpressdb
      • Owner: nestpressuser

Application Setup

# install
$ git clone https://github.com/saltyshiomix/nestpress.git
$ cd nestpress
$ yarn

# prepare `.env` and edit it for your own environments
$ cp .env.example .env

The .env file is like this:

DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=nestpressuser
DB_PASSWORD=nestpresspass
DB_DATABASE=nestpressdb
DB_SYNCHRONIZE=true

APP_ADMIN_EMAIL=test@test.com
APP_ADMIN_PASSWORD=test
APP_PROTOCOL=http
APP_HOST=localhost
APP_PORT=4000
APP_SESSION_SECRET=nestpress

Development Mode

$ yarn dev (or `npm run dev`)

Production Mode

$ yarn build (or `npm run build`)
$ yarn start (or `npm start`)

Packages

package version
@nestpress/next @nestpress/next downloads
@nestpress/postgres-express-session @nestpress/postgres-express-session downloads

Fundamental Examples