wasp/examples/realworld
2020-11-30 15:00:32 +01:00
..
ext Finished implementing pagination for articles. 2020-11-30 15:00:32 +01:00
migrations Added following other users. 2020-11-27 16:10:02 +01:00
.gitignore Fixed some old docs links and created init version of realworld app. 2020-10-30 16:28:50 +01:00
.wasproot Fixed some old docs links and created init version of realworld app. 2020-10-30 16:28:50 +01:00
main.wasp Organized operations into multiple files. 2020-11-27 21:47:12 +01:00
README.md Implemented articles lists on home page. 2020-11-27 18:49:54 +01:00

Realworld app

Realworld app is a benchmark for implementing a relatively complex app in a specific web dev solution.

Here, we implement it in Wasp, by following their specification.

Todo:

  • User + auth (JWT).
  • Login and signup pages.
  • Settings page with logout button (no user deletion needed).
  • Profile page that shows basic user info.
  • Home page with navbar.
  • CRUD Articles (created from Markdown).
  • On /article page, show author username and date of creation (of article).
  • Render article content as markdown.
  • For Article, use special id which contains title in the name, and display it in url?
  • CR*D Comments on articles.
  • Add tags to articles.
  • Show Popular Tags on home page.
  • Favorite articles.
  • Make tags work again (Prisma problems!).
  • Following other users.
  • Paginated lists of articles (on profile page, on home page).
  • Use Bootstrap 4 styling.

What I wish I could do (& other notes):

  • Write less boilerplate -> declaration in Wasp, implementation in JS, it is boilerplaitish, easy to forget smth.
  • Write forms faster. I need to know too much about how to write forms in React, I don't like that, all the details, thinking about e.target value and what not. Might be cool if Wasp had sub-DSL for forms -> it could generate HTML that is semantically correct, and then they can apply any CSS they want.
  • Didn't have to write signup and login forms.
  • I wish it was typed.
  • auth should complain if entity does not have email and password fields.
  • It is tricky to remember to run wasp db migrate-save/up.
  • I wish common Prisma errors were automatically converted into corresponding HttpErrors (although, is this security problem?).

Can't implement for now due to lacking support in Wasp:

  • Unit tests