Skip to content

The ESS Base Project is a repository designed to kickstart new projects for the Software Engineering and Systems discipline at CIn-UFPE. It aims to simplify the project initiation process providing a solid base by offering an initial structure, architecture, configurations, and implementation examples.

License

Notifications You must be signed in to change notification settings

MateusGaldinoLG/hotel-trancinvania

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Hotel Trancinvânia

Hotel Trancinvânia é um projeto de sistema de gerenciamento de reservas de hotel, desenvolvido para a disciplina de Engenharia de Software e Sistemas (IF682) do CIn-UFPE, no curso de Engenharia da Computação. Este repositório contém tanto o backend quanto o frontend da aplicação.

Índice

Visão Geral

Este projeto é um sistema completo de gerenciamento de hotel, permitindo as seguintes features:

  • Cadastro e Login
    • Usuário Hoteleiro e Cliente
    • Login com autenticação local e JWT
    • Alteração de cadastro, podendo alterar e-mail, username e senha
    • Recuperação de senha através de token enviado por e-mail
  • Publicar, Gerenciar e Realizar Reservas
  • Salvar, Gostar, Compartilhar e Avaliar Reservas
  • Busca de Reservas com Filtros
  • Cadastro e Manutenção de Métodos de Pagamento
  • Cadastro e Manutenção de Promoções
  • Disparo de E-mails

Tipos de Usuário

Cliente

O usuário cliente é aquele que pode realizar, salvar, gostar e compartilhar reservas. Reservas só podem ser avaliadas após ter passado o período de estadia.

Hoteleiro

O usuário hoteleiro é aquele que publica e gerencia reservas en seu hotel, podendo cadastrar e gerenciar promoções.

Equipe

As pessoas que compõem a equipe são:

  • Amanda Cristina Fernandes Medeiros de Lima (acfml)
  • Bianca Duarte Santos (bds)
  • Maria Letícia do Nascimento Gaspar (mlng)
  • Matheus Augusto Monte Silva (mams4)
  • Matheus Galdino de Lima Guilherme (mglg)
  • Thais Neves de Souza (tns2)
  • Victoria Barbosa Cesar Figueiredo (vbcf)

Tecnologias Utilizadas

Back-End

  • Node.js, Express e TypeScript
  • WSL, Docker, Prisma, PostgreSQL
  • Zod
  • Passport, JWT e bcrypt

Front-End

  • React e TypeScript
    • React Hook Form
  • Chakra UI e Aceternity UI

Testes

  • Jest-Cucumber

Outras Ferramentas

  • Gerenciamento de Projetos: Notion
  • Design: Figma, Canva e Calligraphr
  • Comunicação: Discord e WhatsApp

Estrutura do Projeto

Abaixo está a estrutura principal dos diretórios e arquivos do projeto:

  • backend: Contém o código fonte do backend da aplicação.
    • docker: Configurações e dados do Docker.
    • prisma: Configurações e migrações do Prisma.
    • src: Código fonte do backend, incluindo controllers, services, repositories, entitites, enums, middleware, routes, utils, etc.
    • tests: Testes do backend.
  • config: Scripts e configurações adicionais.

Configuração e Instalação

Pré-requisitos

  • Node.js
  • Docker
  • Docker Compose

Passos de Instalação

  1. Clone o repositório:
    git clone https://github.com/duartebianca/hotel-trancinvania.git
    cd hotel-trancinvania
  2. Configure e inicie o backend:
     cd backend
     npm install
     docker compose up
     npx prisma migrate dev
     npm run start

Configuração do Banco de Dados

O banco de dados é configurado e gerenciado pelo Prisma. Certifique-se de que o Docker está em execução e que o serviço de banco de dados está ativo.

Comandos Úteis

Backend

  • npm run start: Inicia o servidor.
  • npm run test: Executa os testes.
  • npx prisma migrate dev: Executa migrações de banco de dados.

About

The ESS Base Project is a repository designed to kickstart new projects for the Software Engineering and Systems discipline at CIn-UFPE. It aims to simplify the project initiation process providing a solid base by offering an initial structure, architecture, configurations, and implementation examples.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 87.6%
  • Gherkin 10.5%
  • JavaScript 0.9%
  • Python 0.8%
  • Shell 0.1%
  • HTML 0.1%