Edutrium — Weekly Progress Report
Week-by-week development progress for the Edutrium platform. Period: December 22, 2025 → March 22, 2026 (13 weeks)
Table of Contents
- Week 1 — Project Inception
- Week 2 — Core Architecture
- Week 3 — API Integration
- Week 4 — CRUD & Permissions
- Week 5 — Settings Entities
- Week 6 — Academic Module
- Week 7 — Dockerization
- Week 8 — Student Profiles
- Week 9 — Application Module
- Week 10 — Auth Flows
- Week 11 — File Uploads
- Week 12 — Profile Pages
- Week 13 — Gallery System
- Key Metrics
- Milestone Timeline
Week 1 — Dec 22–28, 2025
Theme: Project Inception & Setup
| Area | Progress |
|---|---|
| Frontend | CTO scaffolded the entire project foundation: editor settings, initial folder structure, Next.js setup, source folder organization, Biome linter (replacing ESLint + Prettier), and .gitignore configuration. 7 commits. |
| Backend | No activity (project setup phase). |
Week 2 — Dec 29, 2025 – Jan 4, 2026
Theme: Core Architecture & Monorepo Foundation
| Area | Progress |
|---|---|
| Frontend | Established Next.js internationalization (next-intl), URL state management (nuqs), OpenAPI TypeScript integration, initial pages, sidebar component, IBM fonts, app routing structure, data-grid components from diceui, Radix UI integration, and migrated to Lucide icons. Converted the project to a monorepo using Turborepo with 5 shared packages (api, auth, ui, i18n, typescript-config). RTL support added to all shadcn components. 36 commits. |
| Backend | No activity (frontend architecture focus). |
Week 3 — Jan 5–11, 2026
Theme: API Integration & Data Grid Foundation
| Area | Progress |
|---|---|
| Frontend | Enhanced auth package types, built the initial student data grid (two phases), added form setup, implemented Next.js proxy to backend, added React Select with shadcn styling, alert dialogs. Improved API/auth logic to use hooks instead of authClient. Fixed data-grid keyboard shortcuts and login callback URL. Wrote AI generation plan docs. 25 commits. |
| Backend | Project initialized. Set up role-based authentication with BetterAuth. Added core entities: users, company, majors, and database tables with relations. Wired up initial CRUD endpoints. User profiles added. 11 commits. |
Week 4 — Jan 12–18, 2026
Theme: CRUD Entities & Permission System
| Area | Progress |
|---|---|
| Frontend | Built the permission system (<Can> component for UI role checks, column-based permission checks). Implemented City and Country CRUD pages with forms and data grids. Added CSV export, multi-sort, dynamic breadcrumbs, date formatters, profile page, and async form fields. Applied P1 security fixes from Oracle review. Mobile toolbar wrapping. 43 commits. |
| Backend | Added Swagger/OpenAPI documentation for all endpoints. Introduced the programs module. Migrated BetterAuth IDs to integers and regenerated DB schema. Refactored search and sort logic. 6 commits. |
Week 5 — Jan 19–25, 2026
Theme: Settings Entities & React Compiler
| Area | Progress |
|---|---|
| Frontend | Implemented 4 new entity modules: Currencies, Degrees, Languages, Majors — all with full data grid and form support. Added async-select filter variant, actions column, grouped common locale keys, enabled React 19 compiler. Removed useMemo in favor of compiler optimization. 20 commits. |
| Backend | Implemented complex nested AND/OR query filters with validation pipes. Fixed column path resolution for nested filtering. 6 commits. |
Week 6 — Jan 26 – Feb 1, 2026
Theme: Academic Module & University Entity
| Area | Progress |
|---|---|
| Frontend | Implemented Academic Years and Student Statuses with inline cell editing. Added editable cell support to the DataGrid component. Built Company and University entity pages with forms. Added switch component, selected-row-only CSV export, toast theming, currency option loaders. React Compiler set to opt-in mode. Auth forms translated. 38 commits. |
| Backend | Added academic year, program price, student base fields, and student status modules. Enabled CORS. Added global error handling for missing records. Fixed a circular import in user deletion. 9 commits. |
Week 7 — Feb 2–8, 2026
Theme: Programs, Faculties & Dockerization (Frontend)
| Area | Progress |
|---|---|
| Frontend | Built Program, Program Prices, Faculties, and Student entity implementations with full CRUD. Added AsyncMultiSelectField, custom cell metadata, i18n message file breakdown. Created Dockerfile and GitHub Actions CI pipeline (i18n check, Docker build). Number field null handling fixed. All schemas updated for i18n support. Debounce logic moved into async-select components. 66 commits (highest week). |
| Backend | Introduced the full application lifecycle: create application, manage application statuses, and track status history. Added faculty module. Applied Prettier formatting across all files. Added search filter and limit. 9 commits. |
Week 8 — Feb 9–15, 2026
Theme: Student Profiles & Performance Optimization
| Area | Progress |
|---|---|
| Frontend | Added AssignStudentsModal for student assignment to advisors, "My Assigned Students" fast filter, initial student profile page. Implemented Next.js rewrites to hide backend URL. Added optimizePackageImport config, dynamic imports for heavy libraries, improved inline editing with useCellUpdateHandler hook. Renamed project from edutesla → edutrium. Refactored API endpoint naming conventions. 47 commits. |
| Backend | Added program status field, academic year to program-prices link. Added nested fetch capability for related entities. Merged ref/openapi-docs-and-dtos PR unifying OpenAPI docs with schema-defined enums. Fixed docs. 11 commits. |
Week 9 — Feb 16–22, 2026
Theme: Application Module & Status Management
| Area | Progress |
|---|---|
| Frontend | Built Application Status Types, Application Statuses, and the main Applications feature with full CRUD. Added color picker component for status colors, program status enums, extra data grid filter props, status color display in cells. Updated all types and forms to new OpenAPI schema. PDF export column auto-sizing fixed. 42 commits. |
| Backend | Application status history now created dynamically on status changes. Added coding standards document (CODING_STANDARDS_AND_CONVENTIONS.md). Improved date string handling. Cleaned unused code. 6 commits. |
Week 10 — Feb 23 – Mar 1, 2026
Theme: Applications Deep Dive & Auth Flows
| Area | Progress |
|---|---|
| Frontend | Enhanced application columns and filters. Added reset password form and exposed requestPasswordReset function. Built file upload UI component. Sidebar improvements. Application filtered by current academic year by default. Docker PORT configuration added. 22 commits. |
| Backend | Added Docker and Docker Compose support. Integrated Resend for email and file upload via Cloudflare R2. Added forgot-password flow. Merged semesters and user endpoints. Improved DB migration lifecycle with a dedicated migration service that runs at app initialization. Auth updated with FRONTEND_URL and logging. 14 commits. |
Week 11 — Mar 2–8, 2026
Theme: File Uploads & Entity Profiles
| Area | Progress |
|---|---|
| Frontend | Added semesters feature, presigned upload hooks, file upload field component. Implemented university logo upload with deferred flow. Built application profile page. Added getStorageUrl utility with Next.js rewrites for storage. RTL fixes for switch and other components. Semester field added to academic year. PDF/CSV export fixes. 39 commits. |
| Backend | Added presigned URL support for file uploads. Added faculty filter to program queries. Added a color field. Debug commits reverted. 9 commits. |
Week 12 — Mar 9–15, 2026
Theme: Profile Pages & New Entities
| Area | Progress |
|---|---|
| Frontend | Major profile page push — built detail pages for Cities, Countries, Faculties, Campuses, and Universities (with campus tab). Added new entities: Curriculums and Program Requirements with full CRUD. New form fields: TextareaField, SwitchField, StringListField, StudentTestimonialField. Enhanced program profile. Updated RBAC and sidebar routes. 30 commits. |
| Backend | Stabilized server after migration issues. Added profile fields to city, country, and faculty. Resolved schema type inconsistencies. Added missing model fields. 11 commits. |
Week 13 — Mar 16–22, 2026
Theme: Data Integrity & Gallery System
| Area | Progress |
|---|---|
| Frontend | Built GalleryUploadField component with batch presigned upload hooks. Added heroImage and galleryImages fields to all profile schemas. Implemented extractModifiedFields utility so PATCH requests only send changed data. Program profile enhanced with new fields. Tab state preserved in URL via nuqs. Configuration improvements. 25 commits. |
| Backend | Completed docs/fix-update-type PR — added UpdateXxxRequest DTOs for all entities and a shared common DTO. Expanded student and application models with new fields (hero, gallery, isMainCampus). Added the fields table and student preference module. Removed unused logo upload endpoint. 12 commits. |
Key Metrics
Output Summary
| Metric | Frontend | Backend | Total |
|---|---|---|---|
| Commits | 440 | ~120+ | ~560+ |
| Lines of Code | ~68,635 | ~14,660 | ~83,295 |
| Source Files | ~389 | ~100+ | ~489+ |
| Weeks | 13 | 12 | 13 |
| Modules Implemented | 20+ features | 28+ modules | — |
| PRs Merged | 22 | 9 | 31 |
| Shared Packages | 5 | — | 5 |
| Languages Supported | 3 (EN, AR, TR) | — | 3 |
Milestone Timeline
| Date | Milestone |
|---|---|
| Dec 28, 2025 | Project kickoff — first commit |
| Jan 4, 2026 | Monorepo established with 5 shared packages |
| Jan 7, 2026 | Backend initialized with auth & core entities |
| Jan 14, 2026 | Permission system (RBAC) operational |
| Jan 17, 2026 | First CRUD entities live (City, Country) with CSV export |
| Jan 31, 2026 | Academic year, student statuses, companies implemented |
| Feb 7, 2026 | Dockerfile and GitHub Actions CI pipeline created |
| Feb 10, 2026 | Project renamed edutesla → edutrium |
| Feb 19, 2026 | Application lifecycle complete (create → status tracking → history) |
| Feb 27, 2026 | Forgot/reset password flow fully operational |
| Mar 3, 2026 | File upload system (presigned URLs via Cloudflare R2) live |
| Mar 15, 2026 | Profile pages for all core entities completed |
| Mar 19, 2026 | Gallery batch upload system implemented |
| Mar 22, 2026 | Phase 1 wrap-up — preparing for Phase 2 |
Report generated on March 23, 2026.