drashland / deno-drash-realworld-example-app

Deno + Drash RealWorld example app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Deno + Drash RealWorld example app

License:MIT License


Languages

Language:TypeScript 51.0%Language:Vue 31.1%Language:JavaScript 16.1%Language:HTML 0.9%Language:Dockerfile 0.9%Language:Shell 0.1%