How badhanroy/bangla-byte works
Bangla Byte is a student-focused competitive-programming learning platform, with Bengali-language learning features alongside problem solving, contests, and coding practice. The principal documented path is account creation, choosing a problem, writing and running code, and reviewing the result. The repository also contains an online judge, admin problem-management pages, error-finding quizzes, a sorting visualizer, and 1v1 coding battles. The excerpts show some implementation details, but not all page-to-page wiring; uncertain links are omitted.
Main entry points: index.php Platform home · coding_room.php Coding room · online-judge/index.php Published problems · submit.php Code submission
Components 22
Entry and accounts
- Platform home
index.php - Registration
register.php - Login
login.php - Profile editing
edit_profile.php
Problem solving
- Published problems
online-judge/index.php - Problem details
online-judge/view_problem.php - Code submission
online-judge/submit.php
Learning tools
- Error-finding quiz
error-finding/index.php - Quiz problems
error-finding/problems.php - Sorting visualizer
visual/index.php - Sorting animations
visual/script.js - Sorting functions
visual/sorting_functions.php
Coding battles
- Battle registration
1v1/index.php - Coding room
1v1/coding_room.php - Battle compiler
1v1/compiler.php
Administration
- Problem management
admin/problems/index.php - Problem publishing
admin/publish_problems.php - Submission review
admin/submissions/list.php - User management
admin/users/list.php
Other components
- Student
- Platform database
- Python runtime
Connections 25
- Student → Platform home: opens
- Platform home → Registration: offers signup
- Platform home → Login: offers login
- Platform home → Error-finding quiz: links quiz
- Registration → Platform database: creates account
- Login → Platform database: checks credentials
- Profile editing → Platform database: updates profile
- Student → Published problems: browses problems
- Published problems → Platform database: reads published
- Published problems → Problem details: opens problem
- Problem details → Code submission: submits code
- Code submission → Platform database: loads test data
- Code submission → Python runtime: executes code
- Problem management → Platform database: reads problems
- Problem publishing → Platform database: publishes problems
- Submission review → Platform database: reviews submissions
- User management → Platform database: manages users
- Error-finding quiz → Quiz problems: loads questions
- Sorting visualizer → Sorting animations: loads interactions
- Sorting visualizer → Sorting functions: loads functions
- Student → Battle registration: joins battle
- Battle registration → Platform database: registers user
- Coding room → Battle compiler: includes compiler
- Coding room → Python runtime: runs test cases
- Coding room → Platform database: stores results