About this project

Masarak is an Arabic RTL web platform targeting high school students in Yemen, aiming to help them explore their interests and understand available academic and career options in an organized manner. The platform combines a specializations guide with an exploratory experience based on the RIASEC model, then presents an interpretive result and recommendations linked to specializations. The documentation explicitly states that the platform is a guidance and exploration tool, not a diagnostic psychological test or a substitute for the student's decision, their family, or counselors. The problem the project addresses is the difficulty high school students face in choosing a university major due to limited knowledge of specializations, unclear interests, reliance on impressions or others' opinions, difficulty comparing options, and a lack of content oriented to the local context. The target users are two categories: the student who wants to explore specializations, learn their interests, and get recommendations and interpretation; and the unregistered visitor who wants to learn about the platform, browse and compare specializations before creating an account. The target MVP scope includes: a static academic specializations guide within the project, browsing and comparing specialization information, account creation and login/logout, saving student progress, an exploratory assessment of 18 situations × 4 options, saving answers during the assessment, computing RIASEC indicators on the server, interpreting the result in non-diagnostic guidance language, multiple recommendations linked to specializations, retaining previous results, a responsive Arabic RTL interface, and automated tests and build checks before merging. Outside the current MVP scope: an admin panel, administrative statistics, CRUD for managing specializations from within the system, a standalone public API, a standalone mobile app, psychological diagnosis or accredited psychometric measurement, and making a mandatory decision on behalf of the student. The documentation notes that a feature being in scope does not necessarily mean it is currently implemented, and that implementation status is tracked via Issues, Pull Requests, and the main branch. The adopted technologies: Laravel 12 with PHP 8.2+, MySQL 8.4.x database, Eloquent ORM, Blade views, Tailwind CSS, JavaScript/Fetch, Laravel Session authentication with Cookies and CSRF, Vite build tool, Node.js 24.x, Composer 2.x and npm, and PHPUnit/Laravel Tests. The core technical decisions are Laravel Monolith, Blade + Tailwind, JavaScript/Fetch, MySQL 8.4.x, session authentication, routes/web.php, a static specializations catalog, and server-side RIASEC processing. The project explicitly states that the MVP does not rely on React, Vue, SPA, Laravel Breeze, Sanctum, JWT, API Tokens, SQLite, or MariaDB. Specialization data is stored in a static file within the project: resources/data/specializations.json, and in the current MVP there are no database tables for specializations, no CRUD panel, and no content management panel. The repository includes documentation for project management and work tracking, including Mini-SRS/Requirements, Project Brief, Team Roles, AI Usage Log, Deliverables Checklist, Technical Decisions, System Architecture, System Workflows, and Use Cases, with files such as AI_Log.md, DELIVERABLES_CHECKLIST.md, and the docs folder. The workflow relies on GitHub Issues, branches, Commits, Pull Requests, Code Review, and GitHub Projects, with the path: Issue, then Branch, then Implementation, then Commit, then Push, then Pull Request, then Review, then Squash Merge, then delete the branch. The only permanent branch is main, and development is not done directly on it. Running the project requires Git 2.x, PHP 8.2+, Composer 2.x, Node.js 24.x, npm, and MySQL 8.4.x, with ready-made scripts on Windows: check-environment.bat, setup-database.bat, setup-project.bat, verify-project.bat, and start-project.bat. There is also a manual run path via composer install, npm ci, php artisan config:clear, migrate, test, and npm run build, then php artisan serve and npm run dev. The application runs at http://127.0.0.1:8000 with a Health Check at /up. An actual Clean Clone test was performed from GitHub in a clean environment and passed all stages: repository structure, environment check, database setup, Composer and npm installation, Laravel initialization, migrations, Laravel tests, Vite build, MySQL connection, full verification, and Git security check. The stated test environment: Laravel 12.69.1, PHP 8.2.12, Composer 2.9.5, Node.js 24.13.1, npm 11.8.0, MySQL 8.4.11, and Git 2.50.1. Project rules include prohibiting direct Push to main, prohibiting uploading .env, passwords, tokens, or secrets, tracking composer.lock and package-lock.json, not using composer update or npm update during normal setup, not adding a feature outside scope without an Issue and a clear decision, and understanding any AI-generated code before using it and documenting impactful usage in AI_Log.md. Project status: completed so far are adopting the idea and scope, preparing the core documentation, creating the repository and configuring main protection, Issue and Pull Request templates, Labels, a GitHub Project with states Backlog → Ready → In Progress → In Review → Done, five Milestones, 15 Issues, GitHub Actions for automated verification, environment, setup, and verification scripts, and passing Clean Clone. In progress: Batch 3 — Assessment Journey, Batch 4 — Results & Security, Batch 5 — Finalization & Release, closing remaining Issues, and final verification. Security: the repository contains no local credentials, .env is local only and prohibited from being uploaded, Laravel uses sessions, cookies, CSRF protection, and password hashing, and administrative root credentials are not used to run the daily application.