/deno-drash-realworld-example-app

Deno + Drash RealWorld example app

Primary LanguageTypeScript

Drash Example App

This respository is still very much under development. Things will change. Things will break. Please take caution when looking at or using the code in this repository.

Drash codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

This real world example application uses Deno, Drash, Vue, webpack, PostgreSQL, and docker-compose.

Requires:

  • Deno v1.1.1
  • Drash v1.0.6

How to Run

$ docker-compose build && docker-compose up -d
$ cd src
$ npm install
$ npm run webpack

Navigate to localhost:1667

Features

  • Docker compose environment
  • Logging
  • Authentication (/users/login)
  • User accounts
    • Postgres DB to hold user accounts with a seeder
    • Registration
    • Login
    • Password hashing
  • Redis?
  • API container?
  • Web socket?
  • Database model representations
  • Vue (built with webpack using Vue Single File Components)

Frontend login

There are a total of 100 users, with each user having the same password. Say we want to login as user 32:

Username: user32
Password: Userpass1
Email: user32@hotmail.com

Built With

  • Docker - Containerisation
  • Apache - Acts as how Apache can be used as a proxy server for Drash
  • Deno - Javascript and Typescript runtime
  • Drash - Web server
  • Vue - Frontend framework
  • Webpack - Bundling Vue
  • Postgres - Postgres driver for the applications database
  • Bcrypt - Hashing and comparing passwords