React application for viewing university exam schedules, conflicts, and course details.
Detailed project and backend documentation:
- Glass-morphism inspired interface
- Smooth transitions and hover interactions
- English and Italian UI
- Instant language switching
- Centralized translations
- Real-time course search
- Match by course name, course code, and instructor
- Highlighted matches with quick navigation to course page
- Weekly calendar grouped by month
- Three views: full, compact, timed
- Color-coded exams:
- Green: current course
- Yellow: conflict in same year
- Red: major conflict (same semester)
- Neutral: no relevant conflict
- Tooltip with exam type, time, and conflict counters
- Collapsible sections
- Course metadata and instances
- Active/new student counts
- Session configuration (year and session name)
- Cache/database reload actions
- Selective backend synchronization
- Excel export by selected collegi
- Login with Basic auth
- Role-based permissions (admin, editor, viewer)
- Protected routes and authenticated operations
- React 18
- React Router v6
- Axios
- CSS
Prerequisites:
- Node.js 18+
- npm
Install and run:
npm install
npm startBuild for production:
npm run buildGitHub Actions automatically builds and deploys the app to GitHub Pages on push to main. Workflow file: .github/workflows/static.yml.
- src: React app source code
- src/components: reusable UI components and modals
- src/pages: page-level views
- src/context: global state (auth, config, language)
- src/utils: API and utility modules
- public: static assets and CSV data files
- .github/workflows: CI/CD workflow definitions
- doc: full technical documentation