VideoQ developer documentation
VideoQ is a learning app that lets you ask questions about videos and jump straight to the scenes that support the answers. Organize videos into courses, share them, and learn through Q&A or guided questions and hints.
This site helps new contributors run the app and make their first small change. You do not need to read every design diagram before getting started.
New to the project?
Follow these steps to connect the user experience with the implementation.
| Step | Page | Ready to move on when… |
|---|---|---|
| 1 | Run the development environment | You can log in locally |
| 2 | Add a video and ask questions | You can follow an answer's citation to a scene in the video |
| 3 | Find your way around the code | You know where the UI, API, and video processing live |
| 4 | Make your first change | You can submit a small change with verification results for review |
For documentation-only changes, start with Update the documentation.
What to know first
- A video is one learning resource; a course groups videos for questions and sharing. See the data model
- React handles the UI, Hono handles the API, and Python handles time-consuming video processing. See the architecture
- Transcription, search preparation, and learning data generation happen in sequence. Not every feature is ready immediately after upload. Understand the states
Find the guide for your task
| What you want to do | Guide |
|---|---|
| Change screens, copy, or forms | Change the frontend |
| Add data or operations to the API | Change the API |
| Change tables or columns | Change the database |
| Change transcription, indexing, or learning data | Change asynchronous video processing |
| Verify a change | Tests and verification commands |
| Troubleshoot startup or video processing | Troubleshooting |
Explore the details
Use Design reference in the sidebar when you need a diagram or specification. Look up database names in the data dictionary and abbreviations in the glossary.