Files
Jacky040124 2ecd02ea03 fix: Draft.js first character loss (#3889)
Draft.js editors drop the first typed character because CDP's dispatchKeyEvent doesn't trigger beforeinput. Fix by prepending a sacrifice space when clear=True.

Closes #3889
2026-01-26 19:40:53 -05:00
..
2026-01-23 16:33:28 -05:00
2026-01-10 20:00:18 -08:00
2025-08-26 14:23:40 -07:00
2026-01-26 12:44:51 -08:00
2025-11-26 10:40:34 -08:00
2025-09-19 19:36:53 -07:00
2026-01-23 16:38:38 -05:00
2025-09-23 20:03:26 -07:00
2025-07-21 12:59:11 +02:00
…

Codebase Structure

The code structure inspired by https://github.com/Netflix/dispatch.

Very good structure on how to make a scalable codebase is also in this repo.

Just a brief document about how we should structure our backend codebase.

Code Structure

src/
/<service name>/
models.py
services.py
prompts.py
views.py
utils.py
routers.py

    	/_<subservice name>/

Service.py

Always a single file, except if it becomes too long - more than ~500 lines, split it into _subservices

Views.py

Always split the views into two parts

# All
...

# Requests
...

# Responses
...

If too long → split into multiple files

Prompts.py

Single file; if too long → split into multiple files (one prompt per file or so)

Routers.py

Never split into more than one file