Repositório técnico do projeto de pesquisa desenvolvido no curso de Análise e Desenvolvimento de Sistemas.
Repositório técnico do Trabalho de Conclusão de Curso (TCC) do curso de Análise e Desenvolvimento de Sistemas.
Este repositório deve conter exclusivamente artefatos técnicos do projeto:
- código-fonte
- scripts de execução
- documentação técnica mínima
- instruções de instalação e execução
Aluno(a): Renato Ramon de Carvalho Nobre Albuquerque
E-mail: renatophoenix123@gmail.com
Orientador: Antonino Alves Feitosa Neto
Semestre/Ano: 2026.1
Descrição do Projeto: Sistema web para auxiliar coordenação do TADS no processo de gerenciamento das alocações acadêmicas dentro da EAJ, organizando informações das turmas, docentes, horários e espaços físicos.
Linguagem principal: TypeScript (frontend e backend)
Bibliotecas / Frameworks: (apenas uma lista de exemplos)
- Front-end: Next.js (App Router), React, Tailwind CSS, shadcn/ui (Radix), Zustand, React Hook Form, Zod, Axios
- Back-end: Node.js, Fastify, Prisma ORM, Zod, JWT, Vitest/Supertest
- Banco de dados: PostgreSQL
Ferramentas:
- Git
- Docker
- Prisma Migrate / Prisma Studio
Exemplo:
/backend API (Fastify + Prisma)
/prisma schema e migrations
/src
/http controllers, rotas, middlewares
/use-cases regras de negócio (casos de uso)
/repositories acesso a dados (interfaces + Prisma/In-memory)
/schemas schemas Zod (contratos)
/algorithms alocação automática / algoritmo genético
/tests testes unit e e2e
/front-end Aplicação web (Next.js)
/src
/app páginas (App Router)
/components componentes e features
/hooks hooks de orquestração
/services camada de acesso à API
/lib integrações centrais (axios, etc.)
/store estado global (auth)
/types tipos e view-models
/utils utilitários puros
- Node.js 18+
- npm 9+
- PostgreSQL 14+ (ou Docker)
- Docker/Docker Compose (opcional, se não tiver PostgreSQL instalado)
git clone <url-do-repositorio>
cd tcc
- Instalar dependências:
cd backend
npm install- Configurar variáveis de ambiente:
- Crie
backend/.envbaseado embackend/.env.example.
- Subir o banco:
- Com Docker (recomendado):
docker compose up -d- Rodar migrations:
npx prisma migrate dev
npx prisma generate- Iniciar API:
npm run devA API sobe por padrão em: http://localhost:3333
- Instalar dependências:
cd ../front-end
npm install- Configurar variáveis de ambiente:
- Crie
front-end/.env.localbaseado emfront-end/.env.example:
NEXT_PUBLIC_API_URL=http://localhost:3333- Iniciar o front:
npm run devAcesse: http://localhost:3000
npm run setup:horarios -> popula o banco com a tabela de horarios da ufrn
npm run seed -> popula o banco com alguns dados para testar o sistema
npm run test:e2e -> roda todos os testes e2e
npm run test:unit -> roda todos os testes unitarios
Instalar dependências:
npm i
Executar aplicação:
### Desenvolvimento
- Backend: `cd backend && npm run dev`
- Front-end: `cd front-end && npm run dev`
- Subir banco + backend + front conforme instruções de “Instalação” e “Execução”.
docker compose up -d
Para reproduzir o ambiente:
git clone https://github.com/UFRN-TADS-EAJ/tcc-tads-ufrn-Laretz.git
cd 1tcc
cd backend
npm install
# configure backend/.env com base no .env.example
docker compose up -d
npx prisma migrate dev
npm run dev
cd ../front-end
npm install
# configure front-end/.env.local com base no .env.example
npm run dev