MCPcopy Index your code
hub / github.com/drashland/deno-drash-realworld-example-app

github.com/drashland/deno-drash-realworld-example-app @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
180 symbols 342 edges 44 files 66 documented · 37%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Drash Example App

This repository 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.

How to Run

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

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?
  • [ ] 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

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 72
Method 72
Class 35
Interface 1

Languages

TypeScript100%

Modules by API surface

src/vue/store/actions.js29 symbols
src/resources/articles_resource.ts17 symbols
src/tests/integration/utils.ts12 symbols
src/models/article_model.ts12 symbols
src/models/article_comments_model.ts12 symbols
src/vue/store/state_and_getters.js10 symbols
src/models/user_model.ts10 symbols
src/models/articles_favorites_model.ts10 symbols
src/vue/store/mutations.js9 symbols
src/services/validation_service.ts7 symbols
src/models/session_model.ts7 symbols
src/models/base_model.ts6 symbols

For agents

$ claude mcp add deno-drash-realworld-example-app \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page