Logo Lanfrica

salomaopena/soletrar

Domain:

education

Record type:

software
Creator:
sal
Host:
Aplicação web em **CodeIgniter 4 + Shield + MySQL 8** para gerir o Concurso Nacional de Soletração de Angola: inscrições, execução das provas (escolar → provincial → nacional), banco de palavras, CMS editorial e notificações multi-canal (sistema, e-mail, SMS via pro2sms.ao). # Concurso Nacional de Soletração — Angola Aplicação web em **CodeIgniter 4 + Shield + MySQL 8** para gerir o Concurso Nacional de Soletração de Angola: inscrições, execução das provas (escolar → provincial → nacional), banco de palavras, CMS editorial e notificações multi-canal (sistema, e-mail, SMS via pro2sms.ao). ## Requisitos - PHP 8.1+ (extensões: intl, mbstring, json, mysqlnd, curl, gd) - Composer 2 - MySQL 8.0+ ou MariaDB 10.5+ - Servidor web (Apache/Nginx) ou `php spark serve` para desenvolvimento ## Instalação ```bash # 1. Dependências composer install # 2. Ambiente cp env .env # Editar .env: base de dados, chaves, SMTP e pro2sms. # Definir também (para o superadmin inicial): # superadmin.email = admin@soletracao.ao # superadmin.senha = # 3. Chaves de encriptação (DUAS, distintas) php spark key:generate # preenche encryption.key php spark key:generate --show # copiar o valor para urlcrypt.chave no .env # 4. Base de dados # Criar a BD vazia definida no .env (ex.: CREATE DATABASE soletracao ...) php spark migrate # cria as 53 tabelas, views e triggers php spark db:seed InicialSeeder # províncias + superadmin php spark cache:clear # limpar a cache dos menus # 5. Arrancar (desenvolvimento) php spark serve # Aceder a localhost ``` ## Tarefas agendadas (produção) ```cron * * * * * cd /caminho/projeto && php spark notificacoes:processar >> /dev/null 2>&1 * * * * * cd /caminho/projeto && php spark cms:publicar-agendados >> /dev/null 2>&1 ``` ## Estrutura ```bash app/ Config/ Configuração (App, Services, AuthGroups, Filters, Rotas/, ...) Controllers/ Público, Admin (por módulo), Api Services/ Regras de negócio: Comum, Seguranca, Concurso, Cms, Notificacoes Models/ Um por tabela de negócio Entities/ Candidato, Noticia, Palavra Filters/ Escopo territorial, auditoria, rate limit Helpers/ data, texto, url_crypt, formato Libraries …

Licenses