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
- [x] Docker compose environment
- [x] Logging
- [x] Authentication (/users/login)
- [x] User accounts
- [x] Postgres DB to hold user accounts with a seeder
- [x] Registration
- [x] Login
- [x] Password hashing
- [ ] Redis?
- [ ] API container?
- [ ] Web socket?
- [x] Database model representations
- [x] 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