Skip to content

Latest commit

 

History

History
199 lines (149 loc) · 7.08 KB

README_TECH.md

File metadata and controls

199 lines (149 loc) · 7.08 KB

PlayForward.IO Repository

status-image coverage-image

Description

This project is a mono-repo for PlayItForward which is an open source dashboard powered by Angular for the frontend and NetJs for the backend.

Features

  • Quality of Experience and Security First
  • Built-in Auth & Auth (Authentication & Authorization)
    • Powered by JWT (Auth & Access)
    • Fully Stateless
    • Permissions (Roles / Actions)
  • Translations
    • Internationalization (i18n)
    • Localization (i10n)
    • Left2Right, Right2Left Support
  • GraphQL
    • Frontend & Backend
  • PubSub
    • RxJS (Subscription, Push)
    • Fully reactive
  • Full SQL Support
    • PostgresQL as the 1st class citizen
  • Dark Mode Support
  • Fullscreen
  • Geo Location Support (TBD)
    • Geo Fencing
    • IP address filtering
  • ...Etc

The mono-repo was created via Nrwl/Nx.

npx create-nx-workspace playitforward

Powered By

Supported Platforms

  • Browsers (Angular)
  • Desktop (Electron)
  • Mobile (NativeScript, Ionic)

Legends

Applications

  • appname = Web (Chrome, Firefox, Safari, Edge, etc)
  • appname-el = Desktop (Electron Application - Linux, MacOS, Windows)
  • appname-ns = NativeScript (Android, iOS)
  • appname-ic = Ionic (Android, iOS)

Applications (End2End)

  • appname-e2e = Web (Chrome, Firefox, Safari, Edge, etc)
  • appname-el-e2e = Desktop (Electron Application - Linux, MacOS, Windows)
  • appname-ns-e2e = NativeScript (Android, iOS)
  • appname-ic-e2e = Ionic (Android, iOS)

Instruction (for developers)

Installation

# Clone the repo
git clone https://github.com/PlayItForward-IO/playitforward.info.git

# Install the dependencies
cd playitforward
yarn install

# Create a database (postgres)
createdb playitforward

# Copy environment variables and update
cp env.example .env

# Migrate the database
yarn prisma:migrate:dev

# Seed your database
yarn prisma:seed

# Start the backend (in terminal #1)
yarn start:api

# Start the frontend (in terminal #2)
yarn start:playitforward

# Visit frontend (on mac use open, on windows, just type it in)
open http://localhost:4200

# Signup / Login and take the site for a spin
# Note superuser account is set in your .env (refer to AUTH_SUPERUSER_EMAIL, AUTH_SUPERUSER_PASSWORD)

Development (lint, test, build, format)

# Webpack analyzer
yarn nx build playitforward --stats-json --prod && yarn stats

# Format changed files
yarn format:all

#  Lint CI
yarn lint:ci

#  Test CI
yarn test:ci

#  Test build
yarn build:ci

Dependency Graph

Visual confirmation of your system architecture, and prevent circular dependencies via eslint

# Graph dependencies on a branch
# More: https://nx.dev/latest/angular/cli/affected-dep-graph

yarn affected:dep-graph --base=<branch-name> --head=HEAD



License

  • Released under a (MIT) license.

Version

X.Y.Z Version

`MAJOR` version -- making incompatible API changes
`MINOR` version -- adding functionality in a backwards-compatible manner
`PATCH` version -- making backwards-compatible bug fixes

Lines of Code

 Language             Files        Lines        Blank      Comment         Code
--------------------------------------------------------------------------------
 TypeScript             383        20687         2345         4105        14237
 JSON                   141         5095            0            0         5095
 Markdown               104         2517          669            0         1848
 HTML                    34         1538          118            4         1416
 Sass                    56         1484          147           35         1302
 JavaScript              34          629           24           48          557
 CSS                      1           96            7            0           89
 Plain Text               7           96           10            0           86
 SQL                      1           80           15           13           52
 XML                      1            2            0            0            2
 Toml                     1            3            0            2            1
--------------------------------------------------------------------------------
 Total                  763        32227         3335         4207        24685
--------------------------------------------------------------------------------

Sponsors

[ [PlayItForward](https://playitforward.info/ ]