/conduit

Deno + Drash RealWorld example app

Primary LanguageJavaScriptMIT LicenseMIT

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.

Extensions

no extensions

There is no need to locally build Docker images anymore

Run this command:

docker-compose up -d

or if you need logs live on your scren run

docker-compose up

Rebuild the container images

In order to rebuild images you should use --no-cache option:

docker-compose build --no-cache

How to Run

docker-compose up -d

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