Skip to content

imendes12/aurora

 
 

Repository files navigation

Estrutura inicial Aurora

Este repositório fornece uma configuração base de aplicação Symfony com Docker, Nginx e PostgreSQL para substituir o projeto Aurora utilizado no Ceará.

A configuração já está dockerizada, então você só precisa ter o Docker Compose rodando na sua máquina para que tudo funcione corretamente.

Tecnologias

  • PHP 8.4
  • PostgreSQL 16
  • MongoDB 7
  • Symfony 7
  • Aurora User Interface 5.3

Acesse aqui para entender as decisões

Acesse aqui os diagramas

Instalação

Passo a passo

Clonar o Repositório

Primeiro, clone o repositório usando SSH ou HTTPS:

git clone [email protected]:secultce/aurora.git

ou

git clone https://github.com/secultce/aurora.git

Navegar para o Diretório do Projeto

Mude para o diretório do projeto:

cd aurora

O jeito mais fácil é rodar o comando make setup, isso já vai executar todos os passos necessários e deixar a aplicação rodando em http://localhost:8080

Mas se preferir, pode fazer o passo a passo abaixo


Iniciar os Contêineres Docker

Execute o Docker Compose para iniciar os contêineres:

docker compose up -d

Instalar Dependências

Para instalar as dependências do projeto, entre no contêiner PHP:

docker compose exec -it php bash

Agora é necessário executar alguns passos, nessa ordem, dentro do contêiner:

1 - Instalação das dependências do PHP:

composer install

2 - Gerar os arquivos de Proxies do MongoDB:

php bin/console doctrine:mongodb:generate:proxie

3 - Executar as migrations do banco de dados

php bin/console doctrine:migrations:migrate -n

4 - Executar as fixtures (dados de teste) do banco de dados

php bin/console doctrine:fixtures:load -n

5 - Instalação das dependêncis do frontend:

php bin/console importmap:install

6 - Compilar os arquivos do frontend

php bin/console asset-map:compile

7 - Gerar as chaves de autenticação

php bin/console lexik:jwt:generate-keypair

Uso

Depois que tudo estiver configurado e as dependências instaladas, você pode acessar sua aplicação Symfony em http://localhost:8080.

Há também uma rota de teste para a API. Você pode acessá-la em http://localhost:8080/api/example. Esta rota está definida no controller ExampleController e retorna a mensagem de sucesso.

Usuário padrão

Há alguns usuarios que você pode utilizar para fins de teste:

email senha
[email protected] Aurora@2024
[email protected] Aurora@2024
[email protected] Aurora@2024

Desenvolvimento

Arquitetura e Decisões técnicas

Estamos utilizando o Symfony e o seu ecossistma de bibliotecas, porém a arquitetura é baseada em camadas e trata-se de um monolítico com a metodologia API First

flowchart TD
    HC((HttpClient)) --JsonRequest<--> R[Routes]
    B((Browser)) --GET/POST--> Routes
    R --> CA[[ControllerApi]]
    Routes --> CW[[ControllerWeb]]
    CA <--> S[Service]
    CW <--> S
    S <--> V{Validator}
    V <--> RP[Repository]
    RP <==ORM/Doctrine==> D[(Database)]
    CA --JsonResponse--> HC
    CW --HTML/CSS/JS--> B
Loading
  • Para saber mais sobre nossas decisões técnicas acesse aqui
  • Para entender nosso fluxo de desenvolvimento decisões técnicas clique aqui

Design UI/UX

Informações importantes

Prototipação das telas

A prototipagem das telas é feita por outro time, do RedeMapas, e se encontra neste link do Figma

Componentes web

Há um fork do Bootstrap (framework css) com a implementação dos protótipos acima, se encontra neste repositório

Decisões de Design

Alguns protótipos implementados não estão seguindo a risca o design sugerido, por decisões totalmente técnicas que estão documentadas aqui

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 67.4%
  • Twig 20.1%
  • JavaScript 7.4%
  • CSS 4.7%
  • Makefile 0.2%
  • Dockerfile 0.1%
  • Other 0.1%