e30e52e21ebf80d209407ef8c76460d9661d5dcd
- Fix jwt_required decorator to set request.env user context via update_env() instead of passing user as kwarg (fixes null student_id on attempt creation for auth='none' API routes) - Build standalone exam session page with timer, question navigator, auto-save, and instant score display (no dependency on web.frontend_layout) - Add exam_delivery.js for client-side exam interaction (MCQ selection, section navigation, countdown, autosave, submit & results) - Generate per-session JWT in controller for API calls from the exam page Made-with: Cursor
EnCoach Backend — v2
Branching Workflow
This repo is connected to the staging server via a Git post-receive hook. All deployment is automatic — but only after code review approval.
How to contribute
- Never push directly to
main— branch protection will block it. - Create a feature or fix branch:
git checkout -b feature/your-feature-name - Develop, commit, and push your branch:
git push origin feature/your-feature-name - Open a Pull Request on Gitea targeting
main. - Request review from devops (Talal).
- Once approved and merged, the staging server rebuilds and redeploys automatically.
Environment
The .env file is not committed. It lives only on the staging server at /opt/encoach/backend-v2/.env.
Contact the team lead if you need a local copy of the environment variables.
Required files (push with your code)
Dockerfile— used by the staging server to build the container imagedocker-compose.yml— defines the backend service (port mapping, env vars, etc.)
Pipeline test Mon Mar 30 19:42:50 +04 2026
Description
Languages
Python
34.4%
C
32%
JavaScript
28.4%
SCSS
1.4%
TypeScript
1.2%
Other
2.5%