All Projects → saltyshiomix → Ark

saltyshiomix / Ark

Licence: mit
An easiest authentication system on top of NestJS, TypeORM, NEXT.js(v9.3) and Material UI(v4).

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Ark

Nestpress
A production ready personal blogging system on top of NestJS and NEXT.js
Stars: ✭ 38 (-83.33%)
Mutual labels:  nextjs, nestjs, material-ui
Web3studio Sojourn
A React Native DevKit with code for a Web3 Decentralized Data Storage Pattern.
Stars: ✭ 29 (-87.28%)
Mutual labels:  nextjs, material-ui
Ravepro
RavePro
Stars: ✭ 18 (-92.11%)
Mutual labels:  nextjs, nestjs
Node Blog
🔥✨ A react blog project base on nodejs, nestjs, mongoose, typescript, react, ant-design,nextjs
Stars: ✭ 69 (-69.74%)
Mutual labels:  nextjs, nestjs
Material Kit React
React Dashboard made with Material UI’s components. Our pro template contains features like TypeScript version, authentication system with Firebase and Auth0 plus many other
Stars: ✭ 3,465 (+1419.74%)
Mutual labels:  material-ui, nextjs
Nest Next
Render Module to add Nextjs support for Nestjs
Stars: ✭ 348 (+52.63%)
Mutual labels:  nextjs, nestjs
Nextjs Material Dashboard
NextJS version of Material Dashboard React
Stars: ✭ 50 (-78.07%)
Mutual labels:  nextjs, material-ui
Builderbook
Open source web application to learn JS stack: React, Material-UI, Next.js, Node.js, Express.js, Mongoose, MongoDB database.
Stars: ✭ 3,015 (+1222.37%)
Mutual labels:  nextjs, material-ui
Nextjs With Redux And Material Ui
A boilerplate NextJS with Redux and Material UI
Stars: ✭ 79 (-65.35%)
Mutual labels:  nextjs, material-ui
Typescript Nextjs Redux Material Ui Example
next.js v9, typescript v3.7, redux, material-ui v4, react-hooks, redux-saga, SSR
Stars: ✭ 93 (-59.21%)
Mutual labels:  nextjs, material-ui
Nitro
An Example of a PWA using Nextjs, Material-UI, Typescript and Auth0 💗
Stars: ✭ 130 (-42.98%)
Mutual labels:  nextjs, material-ui
Wipi
A blog system written by next.js, nest.js and MySQL.
Stars: ✭ 251 (+10.09%)
Mutual labels:  nextjs, nestjs
react-movies-finder
React Movies finder is a React app to search movies and series using redux, redux-thunk, React Hooks, and Material UI
Stars: ✭ 27 (-88.16%)
Mutual labels:  nextjs, material-ui
Leaa
Leaa is a monorepo restful CMS / Admin built with Nest.js (@nestjsx/crud, node.js) and Ant Design.
Stars: ✭ 375 (+64.47%)
Mutual labels:  nextjs, nestjs
netease-music-app
网易云音乐移动端【React/Next/Vue】【Ant Design/Material UI】
Stars: ✭ 95 (-58.33%)
Mutual labels:  nextjs, material-ui
Wipi
nextjs + nestjs + TypeScript +MySQL 开发的前后端分离,服务端渲染的博客系统
Stars: ✭ 163 (-28.51%)
Mutual labels:  nextjs, nestjs
Nextjs Full Demo
Demo about integration between examples of next.js and also fix some issues during development
Stars: ✭ 76 (-66.67%)
Mutual labels:  nextjs, material-ui
Nextjs Material Kit
NextJS version of Material Kit React by Creative Tim
Stars: ✭ 141 (-38.16%)
Mutual labels:  nextjs, material-ui
Saas
Build your own SaaS business with SaaS boilerplate. Productive stack: React, Material-UI, Next, MobX, WebSockets, Express, Node, Mongoose, MongoDB. Written with TypeScript.
Stars: ✭ 2,720 (+1092.98%)
Mutual labels:  nextjs, material-ui
Passport
Passport module for Nest framework (node.js) 🔑
Stars: ✭ 211 (-7.46%)
Mutual labels:  nestjs

An easiest authentication system on top of NestJS, TypeORM, NEXT.js (v9) and Material UI (v4).

Package License (MIT)

Features

  • Cross platform - Mac, Linux and Windows
  • Database synchronization with entities - powered by TypeORM
  • Server Side Rendering - powered by NEXT.js
  • API server - powered by NestJS
  • Authentication - powered by Passport
  • Material UI design

Technologies

  • Hot reloading for the developer experience :)
    • ts-node-dev - Compiles your TS app and restarts when files are modified
    • NEXT.js - The React Framework
  • Lang
  • Database
    • PostgreSQL - The World's Most Advanced Open Source Relational Database
  • ORM (Object-relational mapping)
    • TypeORM - ORM for TypeScript and JavaScript (ES7, ES6, ES5)
  • Server
    • NestJS - A progressive Node.js framework for building efficient, reliable and scalable server-side applications
      • internally using Express - Fast, unopinionated, minimalist web framework for Node.js
    • NEXT.js - The React Framework
  • Environment variables
    • dotenv - Loads environment variables from .env for nodejs projects
    • dotenv-webpack - A secure webpack plugin that supports dotenv and other environment variables and only exposes what you choose and use.
  • User authentication
    • Passport - Simple, unobtrusive authentication for Node.js
  • UI framework
    • React - A JavaScript library for building user interfaces
    • NEXT.js - The React Framework
    • Material UI - React components that implement Google's Material Design.

Setup

Database Setup

Ark uses PostgreSQL v11.

For Mac Users

# install [email protected]
$ brew install [email protected]

# if you want to start [email protected] in startup, try do this
$ brew services start [email protected]

# [MUST] create user "arkuser" with password "arkpass"
$ createuser -P arkuser

# [MUST] create database "arkdb" owened by "arkuser"
$ createdb arkdb -O arkuser

For Windows Users

Python

Because Ark uses node.bcrypt.js, we need a Python:

windows-build-tools
  • Run npm install --global --production windows-build-tools from an elevated PowerShell or CMD.exe as Administrator
PostgreSQL
> postgresql-11.6-3-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: arkuser
    • Definition Panel:
      • Password: arkpass
    • Priviledges Panel:
      • Check all Yes
  • Right click Databases and Create > Database
    • General Tab:
      • Database: arkdb
      • Owner: arkuser

Application Setup

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

# install dependencies
$ yarn

# development mode
$ yarn dev

# production mode
$ yarn build
$ yarn start

The .env file is like this:

DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=arkuser
DB_PASSWORD=arkpass
DB_DATABASE=arkdb
DB_SYNCHRONIZE=true

APP_PROTOCOL=http
APP_HOST=localhost
APP_PORT=4000
APP_SESSION_SECRET=ark

Production Deployment

With production usages, please use pm2 for Node.js process managements.

# install pm2
$ npm install --global pm2

# run the app "ARK" with the config `ecosystem.config.js`
$ cd ark
$ pm2 start

The example ecosystem.config.js:

module.exports = {
  apps : [{
    name: 'ARK',
    script: '.next/production-server/main.js',
    instances: 1,
    autorestart: true,
    watch: false,
    max_memory_restart: '1G',
    env: {
      NODE_ENV: 'production'
    }
  }]
};

Screenshots

Register Page

Login Page

Top Page (Auth Guard)

Articles

Related

  • YARK - Yet another easiest authentication system on top of NestJS, TypeORM, react-ssr and Material UI(v4)
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].