Sobre o projeto
Masarak é uma plataforma web em árabe com direção RTL voltada para estudantes do ensino médio no Iêmen, com o objetivo de ajudá-los a explorar seus interesses e compreender as opções acadêmicas e profissionais disponíveis de forma organizada. A plataforma combina um guia de especializações com uma experiência exploratória baseada no modelo RIASEC, apresentando em seguida um resultado interpretativo e recomendações relacionadas às especializações. A documentação deixa explícito que a plataforma é uma ferramenta de orientação e exploração, e não um teste psicológico diagnóstico nem um substituto para a decisão do estudante, de sua família e dos orientadores.
O problema que o projeto aborda é a dificuldade de escolher a especialização universitária entre estudantes do ensino médio, devido ao conhecimento limitado sobre as especializações, à falta de clareza sobre os interesses, à dependência de impressões ou opiniões de terceiros, à dificuldade de comparar opções e à escassez de conteúdo voltado ao contexto local.
Os usuários-alvo são duas categorias: o estudante que deseja explorar as especializações, conhecer seus interesses e obter recomendações e interpretação, e o visitante não registrado que deseja conhecer a plataforma, navegar pelas especializações e compará-las antes de criar uma conta.
O escopo do MVP pretendido inclui: guia de especializações acadêmicas estático dentro do projeto, navegação e comparação de informações das especializações, criação de conta e login e logout, salvamento do progresso do estudante, avaliação exploratória de 18 situações × 4 opções, salvamento das respostas durante a avaliação, cálculo dos indicadores RIASEC no servidor, interpretação do resultado em linguagem orientativa não diagnóstica, múltiplas recomendações relacionadas às especializações, retenção de resultados anteriores, interface em árabe RTL responsiva, e testes automatizados e verificações de Build antes da integração.
Fora do escopo atual do MVP: painel de administração, estatísticas administrativas, CRUD para gerenciamento de especializações dentro do sistema, API pública independente, aplicativo Mobile independente, diagnóstico psicológico ou medição psicométrica certificada, e tomada de decisão obrigatória em nome do estudante. A documentação indica que a presença de uma funcionalidade no escopo não significa necessariamente que ela esteja implementada no momento, e que o status de implementação é acompanhado por meio de Issues, Pull Requests e do branch main.
Tecnologias adotadas: Laravel 12 com PHP 8.2+, banco de dados MySQL 8.4.x, Eloquent ORM, interfaces Blade, Tailwind CSS, JavaScript/Fetch, autenticação Laravel Session com Cookies e CSRF, ferramenta de build Vite, Node.js 24.x, Composer 2.x e npm, e testes PHPUnit/Laravel Tests. As decisões técnicas fundamentais são Laravel Monolith, Blade + Tailwind, JavaScript/Fetch, MySQL 8.4.x, autenticação por sessões, routes/web.php, catálogo de especializações estático e processamento RIASEC no servidor. O projeto declara explicitamente que no MVP não utiliza React, Vue, SPA, Laravel Breeze, Sanctum, JWT, API Tokens, SQLite ou MariaDB.
Os dados das especializações são armazenados em um arquivo estático dentro do projeto: resources/data/specializations.json, e no MVP atual não existem tabelas de banco de dados para especializações, nem painel CRUD, nem painel de gerenciamento de conteúdo.
O repositório inclui documentação para gerenciamento e acompanhamento do projeto, entre elas Mini-SRS/Requirements, Project Brief, Team Roles, AI Usage Log, Deliverables Checklist, Technical Decisions, System Architecture, System Workflows e Use Cases, com arquivos como AI_Log.md, DELIVERABLES_CHECKLIST.md e a pasta docs.
O método de trabalho baseia-se em GitHub Issues, branches, Commits, Pull Requests, Code Review e GitHub Projects, com o fluxo: Issue, depois Branch, depois Implementation, depois Commit, depois Push, depois Pull Request, depois Review, depois Squash Merge, depois exclusão do branch. O único branch permanente é o main, e não se desenvolve diretamente nele.
A execução requer Git 2.x, PHP 8.2+, Composer 2.x, Node.js 24.x, npm e MySQL 8.4.x, com scripts prontos para Windows: check-environment.bat, setup-database.bat, setup-project.bat, verify-project.bat e start-project.bat. Há também um caminho de execução manual via composer install, npm ci, php artisan config:clear, migrate, test e npm run build, seguido de php artisan serve e npm run dev. A aplicação roda em http://127.0.0.1:8000 com Health Check em /up.
Foi realizado um teste real de Clean Clone a partir do GitHub em um ambiente limpo, que passou por todas as etapas: estrutura do repositório, verificação do ambiente, configuração do banco de dados, instalação do Composer e npm, inicialização do Laravel, migrações, testes do Laravel, build do Vite, conexão com MySQL, verificação completa e checagem de segurança do Git. O ambiente de teste mencionado: 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 e Git 2.50.1.
As regras do projeto incluem proibir Push direto para o main, proibir o envio de .env, senhas, tokens ou segredos, rastrear composer.lock e package-lock.json, não usar composer update ou npm update durante a configuração normal, não adicionar funcionalidade fora do escopo sem Issue e decisão clara, e compreender qualquer código gerado por inteligência artificial antes de usá-lo, documentando o uso relevante em AI_Log.md.
Status do projeto: concluído até o momento a aprovação da ideia e do escopo, a preparação da documentação básica, a criação do repositório e a configuração da proteção do main, os modelos de Issues e Pull Requests, as Labels, o GitHub Project com estados Backlog → Ready → In Progress → In Review → Done, cinco Milestones, 15 Issues, GitHub Actions para verificação automatizada, os scripts de ambiente, configuração e verificação, e a aprovação do Clean Clone. Em andamento: Batch 3 — Assessment Journey, Batch 4 — Results & Security e Batch 5 — Finalization & Release, além do fechamento das Issues restantes e da verificação final.
Segurança: o repositório não contém credenciais locais, o .env é apenas local e seu envio é proibido, o Laravel utiliza sessões, cookies, proteção CSRF e hash de senhas, e as credenciais administrativas de root não são usadas para executar a aplicação no dia a dia.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.