wasp/examples/thoughts
Filip Sodić 21839ff2df
Add latest changes to examples updated to 0.12.0 (#1816)
* Add latest changes to examples updated to 0.12.0

* Add latest 0.12.0 changes to waspc/examples

* Remove stray todo from examples

* Update e2e tests
2024-02-26 15:20:52 +01:00
..
migrations Again migrated thoughts to 0.12. (#1789) 2024-02-21 13:41:00 +01:00
public Updated examples/thoughts to 0.12. (#1742) 2024-02-12 14:52:00 +01:00
src Again migrated thoughts to 0.12. (#1789) 2024-02-21 13:41:00 +01:00
.gitignore Add latest changes to examples updated to 0.12.0 (#1816) 2024-02-26 15:20:52 +01:00
.waspignore Add latest changes to examples updated to 0.12.0 (#1816) 2024-02-26 15:20:52 +01:00
.wasproot Fixed links to examples, added examples/README.md, improved some names. (#1542) 2023-11-17 15:02:32 +01:00
fly-client.toml Again migrated thoughts to 0.12. (#1789) 2024-02-21 13:41:00 +01:00
fly-server.toml Again migrated thoughts to 0.12. (#1789) 2024-02-21 13:41:00 +01:00
main.wasp Again migrated thoughts to 0.12. (#1789) 2024-02-21 13:41:00 +01:00
package-lock.json Again migrated thoughts to 0.12. (#1789) 2024-02-21 13:41:00 +01:00
package.json Again migrated thoughts to 0.12. (#1789) 2024-02-21 13:41:00 +01:00
README.md Again migrated thoughts to 0.12. (#1789) 2024-02-21 13:41:00 +01:00
tsconfig.json Add latest changes to examples updated to 0.12.0 (#1816) 2024-02-26 15:20:52 +01:00
vite.config.ts Updated examples/thoughts to 0.12. (#1742) 2024-02-12 14:52:00 +01:00

Thoughts

Thoughts is a note-taking app organized around the concept of hashtags.

Run wasp start to start the app in development mode.

This app is deployed at https://wasp-thoughts-client.fly.dev/ : client, server and db on Fly.io .

TODO

How it felt so far to build this app in Wasp (2022)

Here I write down how I felt while developing this app, so we can use this feedback in the future to improve Wasp. Subjective feedback is also written down.

  • CSS is hard. Writing CSS globally is not fun. I would like to write it somehow better (inline)? I would also like to use a pre-processor (sass, stylus).
  • I was modifying the entity and couldn't perform migration because it would destroy data. So I emptied the database. I did that by using wasp clean, but I am not sure if others would know they can do it this way, plus this method works only for SQLite.
  • I had an error coming from an action -> it was not super clear from the error message where it came from.
  • I have to remember to do migrate-dev.
  • I have to remember to restart Wasp when I add dependency.
  • Could we have immutable data in DB? Is that posible? This is just thought, we probably shouldn't think about this.
  • UI is hard.
  • Operations code and declaration should be closer and less boilerplatish.
  • If calling now non-existent operation that existed previously, 404 is returned -> very hard to figure out what the error is from this! This happens because old generated operation file remains in the generated FE code. If it was removed, error message would be better.
  • Wasp declares action where import stmt leads to nowhere -> hard to debug the error!
  • I added creation of tags (via Prisma's connect mechanism) to action that had Thought under entities and forgot to add Tag under entities in action declaration in .wasp code! Is there a way to force this?
  • wasp db migrate-dev after wasp clean takes long time with no output.
  • Figuring out what should be a new page and what should not -> hard. Details: I wasn't sure if I should do multiple pages that share some components (sidebar, navbar), or if I should have just one page and then use in-page router for deciding what to show in the center of the page. This dillema would be present in pure React app also.
  • Handling errors in React and fetching data -> boring, also not sure how to do it.
  • I forgot to run wasp db migrate-dev after I switched db.system to PostgreSQL, and it took me some time to figure out why it is still using SQLite.
  • I got a message from Prisma that I should remove my migrations directory. It can be confusing for the newcomers as to what really needs to be done.
  • When I came back after some time, I forgot: how to run the database, what is the name of the heroku app. I luckily had command for running the database in the terminal history, and for deploying I opened the wasp docs and followed instructions.
  • When deploying after making changes to schema that require data migration (adding required fields to entities), I deleted the whole database on Heroku. If I actually had to do a data migration, I am not sure how I would have done it though, so that is a very important question and something we need to figure out.