This is just notes on setup, what pages aren't included, etc.
Many of these are just copy+pasted from the original pages without any real editing. They should be okay to look at, but they still pull images from and link to the original pages. They could use some cleaning up.
Left off the backend db key in setting up your devenv
The Codebase Overview (Notion) and Engineering Guide (Notion) main pages have been left out here because their information is already mostly covered in this site's Codebase Overview.
BobaFrontend left off because there's nothing there.
For the rest of this page, I will just copy what was there in shorter pages.
FAQs and Troubleshooting
Help! I ran
git pull and now when I go running yarn it says
[library name] not found!
This usually means a new library has been added to the project that you don't currently have. Try running
yarn install again!
Write about your approach to QA and why it's critical to success.
Making Code Changes
- Test PRs rigorously before requesting review.
- Include test cases you've checked for in your PR description.
- If the change is substantial and user-facing, pull down the branch.
- Test for cases (particularly edge cases) that the PR author may have missed.
- Look at the list of items going out for release the next day.
- Go down the list one-by-one and thoroughly test changes.
Threads belong to one board, posts belong to one thread. The post with parent_post = NULL is the first post in a thread, and is the one shown in boards view. All posts belonging to the same thread have the same parent_thread value. The server API returns posts as a flat view with parent_post pointing to the string id of the parent (all numeric ids are hidden from clients). The hierarchical thread view is built client-side.
Comments belong to one post. Chained comments are [x], are represented in the database as [y] and sent down to the client as [z]. Replies to comments.
How to Find a Task (TODO)
- If some problems disturbs you and you're like "mmmhh this bothers enough me to try and tackle it, I wonder if I could fix it" and you vaguely think you might have the skills to try and attempt it I pls come to me and I swear I'll help you get it done
- Best way I work: I like explaining things to people, but I'm bad at writing documentation. Pls if you want to know how things work and want to help me write down stuff just let me talk about something and put stuff down in order.
- Be clear about what you want to do, and when you will have time to work on it. Tell me a bit of what you like and I will make sure to give you something. Tell me when you plan to start working on it and what you'll need so I can make sure to prioritize getting it to you.
BobaBoard uses a PostgreSQL 12 database. There is no plan to allow different types of underlying DBs, which means we can rely on PostgreSQL-only constructs. That said, for ease of onboarding of new engineers, standard SQL functionality should be preferred.
Naming & Conventions
- Database tables should use plural names.
- Words are separated by
Base Tables Structure
The base tables structure is defined in
db/init/000_init.sql. Splitting up the initialization code in logical chunks is on the TODO list.
Views are defined at
The test database init data is defined at