Commit Graph

24 Commits

Author SHA1 Message Date
djalim b6586f7715 feat: made stuff 2026-05-01 14:14:33 +02:00
djalim 9a4c6863d1 feat: stages module, mobility frontend, theme toggle, employeeOnly access control
- Add stages module with full CRUD API and admin overview island
- Add mobility overview island (Liste, Kanban, Detail CRUD views)
- Add contract PDF upload/download endpoints for mobilites
- Add light/dark theme toggle in header
- Add employeeOnly flag to hide entire modules from students (admin, students, stages)
- Add read-only GET endpoints for modules/ues/ue-modules in notes module
- Add [slug].tsx catch-all routes for direct URL navigation
- Replace old mobility table with mobilites + stages schema (migration 0004)
- Allow students to create mobilites and upload contracts
- Redirect authenticated users from / to /apps catalog
2026-05-01 12:47:23 +02:00
djalim df3957741d feat : fix a lot of stuff
Check Deno code / Check Deno code (pull_request) Failing after 8s
Tests / Unit tests (pull_request) Successful in 13s
Tests / Integration tests (pull_request) Failing after 1m0s
2026-04-30 13:49:47 +02:00
djalim 04be659d6b feat(app): add studentOnly pages and new routes
Add routes for modules, users, notes import, recap, and islands edit.
Update middleware to filter pages based on user role.

feat(admin): add modal for assigning teaching, replace delete icon with SVG

refactor(server): rename port variable to uppercase and add env support
feat(admin): add enseignants, users, filtering and role colors

refactor(AdminRoles): improve role UI and add permission mapping

feat(admin-users): add role colors, role filter, and modal for creating users

feat(admin): add EditModule component for module editing

feat(admin): add EditUser page for editing users and managing enseignements

feat(promo-select): display id and name in options for promo dropdown

feat: add edit module/user routes, inline coeff editing, UI tweaks

refactor: UI – icons, modal overlay, grid, subtitles, import margin
2026-04-29 09:12:55 +02:00
djalim 378cbb0c06 style: format import success message and drop zone JSX
Check Deno code / Check Deno code (pull_request) Successful in 5s
Tests / Unit tests (pull_request) Successful in 12s
Tests / Integration tests (pull_request) Failing after 1m7s
Apply consistent string concatenation in ImportNotes and UploadStudents.
Format JSX drop zone for better readability.
2026-04-27 17:11:46 +02:00
djalim d3de5c29e7 refactor: add migration, seed permissions, update permissions API
feat(notes): add XLSX import island and admin route

feat(upload): add drag‑and‑drop upload, template download, UI tweaks
2026-04-27 17:08:58 +02:00
djalim 733259e317 feat : fixed some page not being as described in the figma 2026-04-27 11:21:32 +02:00
djalim 5ba8b8cb68 feat(ui): implement full UI layer for all modules
Add interactive island components and server partials for notes,
students, and admin modules, following the Figma prototype design.

- static/styles/ui.css: shared component library (buttons, tables,
  chips, cards, filters, tabs, form inputs)
- notes: NotesView (student grade view with UE cards, promo tabs,
  weighted averages), AdminConsultNotes, AdminUEs islands + partials
- students: ConsultStudents (list/filter/delete), AdminPromotions
  (CRUD) islands + partials
- admin: AdminModules, AdminUsers, AdminRoles islands + partials
- All partials use State type with unknown cast for session access

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 22:54:10 +02:00
djalim 6c18189d9f chore(deps): update drizzle-orm to 0.45.2 and pg to 8.20.0 2026-04-22 14:40:19 +02:00
djalim 2c1fd7e5ad feat(promotions): add CRUD endpoints for promotion by id
- GET /promotions/{idPromo} returns promotion or 404
- PUT /promotions/{idPromo} updates year or 404
- DELETE /promotions/{idPromo} deletes promotion or 404
- Only employees allowed, otherwise 403
2026-04-22 14:40:19 +02:00
djalim 3f0c8d079f feat(students): add promotions API for employees 2026-04-22 14:13:59 +02:00
djalim 4eaea48ebd feat(students): add CRUD endpoints for student by numEtud 2026-04-22 14:11:29 +02:00
djalim f959cf0d3a feat(students): add CSV import endpoint for student data 2026-04-22 14:10:18 +02:00
djalim 0d45bd4c1c refactor(students): simplify API, remove unused imports and helpers
refactor(students): add query param filtering, enforce employee role for POST
refactor(students): return created student in POST response
2026-04-22 14:06:01 +02:00
djalim 9636242b42 refactor(mobility): switch to Drizzle ORM and remove raw SQLite usage
- replace Database with db instance
- use schema imports for tables
- use db.select, db.insert, onConflictDoUpdate
- remove manual connection handling and console logs
- improve type safety and maintainability

refactor(students): migrate to Drizzle ORM and async queries

Replace raw sqlite queries with Drizzle ORM. Remove the connect helper and use the
shared db instance and schema definitions. Convert getItself, getAll and
addStudents to async functions, use eq and lt helpers, and simplify promotion
handling. This improves type safety, maintainability, and allows non‑blocking
database access.
2026-04-03 10:43:29 +02:00
djalim 58c8ff56ba 🐛(components): add missing button types and keys
Check Deno code / Check Deno code (pull_request) Successful in 40s
Add type="button" to the EditMobility and UploadStudents buttons
to prevent default form submission behavior.
Include a key prop on Student components in Promotion for stable list rendering.
2026-01-09 12:41:51 +01:00
Kevin FEDYNA 4c54283bfd Finalized students app 2025-01-28 10:03:20 +01:00
Kevin FEDYNA e88045c952 Refactored students 2025-01-27 13:11:13 +01:00
Kevin FEDYNA 6d4d36e089 Fixed linting and formatting errors 2025-01-25 10:48:04 +01:00
Clayzxr fcc0a4413c Update student to have an ID 2025-01-24 20:48:33 +01:00
Clayzxr d767cb0898 Minor fix for DB (working) 2025-01-22 11:00:18 +01:00
Kevin FEDYNA 5e75c688c8 Added layer of abstraction for database connection 2025-01-21 23:49:52 +01:00
Clayzxr b5fedbb425 Moved all student management tools into student app for global uses (working) 2025-01-21 17:29:59 +01:00
Kevin FEDYNA fa66621abc Fixed partial handling and added cookies 2025-01-21 16:09:36 +01:00