Skip to content

drashland/deno-drash-realworld-example-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drash Example App

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.

How to Run

$ docker-compose build && docker-compose up -d
$ docker-compose exec drash bash
# /root/.deno/bin/nessie migrate
# /root/.deno/bin/nessie seed

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)
  • Cypress

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
  • Rhum - Testing framework
  • Dmm - Module Manager for Deno to update our dependencies
  • Vue-input - Library used to help the display of article tags as 'pills', allowing them to be removed and added like a shopping cart
  • Cypress - Browser testing framework