Code Monkey home page Code Monkey logo

passeios-turisticos-bba's Introduction

Passeios turísticos em Borborema

Sobre o projeto

Passeios turísticos em Borborema é um sistema web criado para centralizar todas as informações sobre turismo na cidade de Borborema, como eventos na cidade, passeios turísticos, guias, restaurantes, hospedagens, entre outras informações.

Sistema web feito para a disciplina do Projeto Integrador dos cursos de Computação da UNIVESP, trabalho feito em grupo.

Para acessar a página online do projeto, entre em passeiosturisticosbba.vercel.app

Funcionalidades

  • Página Inicial com informações sobre a cidade e links que levam à outras páginas;
  • Links que levam ao site oficial do município;
  • Páginas com as informações cadastradas sobre Eventos, Atrações Turisticas, Guias Turísticos, Restaurantes, Hospedagens e Outras Informações;
  • Página de Login para autenticação do usuário administrativo;
  • Página principal de gerenciamento do Painel Administrativo;
  • Páginas dedicadas para cadastrar, editar e excluir informações.
  • Formulários com validação de campos obrigatórios;
  • Campos de data com validação para garantir que a data de fim seja posterior ou igual à data de início;
  • Máscara no campo de telefone para garantir o formato correto;
  • Calendário de Eventos na Página de Eventos utilizando a biblioteca React Big Calendar contendo os eventos cadastrados e feriados nacionais usando a API da BrasilApi

Ferramentas e tecnologias utilizadas

Neste repositório se encontram os diretórios

  • server, que contém o backend da aplicação;
  • web, contendo o frontend.

Backend

  • NodeJS - ambiente de execução JavaScript
  • Express - framework para Node.js
  • Sequelize - ORM (Object-Relational Mapper) para Node.js
  • Postgresql - ferramenta de sistema de gerenciamento de bancos de dados
  • Swagger - cria documentação e facilita o desenvolvimento de APIs

Frontend

  • React - biblioteca de código aberto para interfaces gráficas
  • NextJS - framework para React
  • TypeScript - superset de javascript que adiciona recursos à linguagem

Como executar o projeto localmente

Para executar o projeto de maneira local, primeiro você precisa ter o NodeJS e o Git instalados na sua máquina. O banco de dados utilizado neste projeto é o postgresql, também é bom ter ele instalado na máquina.

Em seguida, execute os seguintes comandos, um de cada vez em um terminal:

git clone https://github.com/alanabacco/passeios-turisticos-bba # clona o repositório
cd passeios-turisticos-bba # entra na pasta do projeto

Para rodar o backend:

cd server # entra na pasta server
npm install # instala dependencias

# fazer a conexão com o banco de dados para continuar

npm run db:reset # para criar o banco de dados, tabelas e popular com dados de teste
npm run dev # roda o projeto

o backend estará rodando na porta 8080.

Obs.: é preciso fazer a conexão com o banco de dados e colocar as variáveis ambiente em um arquivo .env na pasta server. Exemplo de variáveis ambiente está no arquivo .env.exemplo, coloque a senha do banco de dados da sua máquina em DEV_DB_PASSWORD=''. A variável HASH_SECRET pode ser encontrada no repositório do github em settings > environments > .env.

Para rodar o frontend

em outro terminal, entre no diretório do projeto e rode os comandos:

cd web # entra na pasta web
npm install # instala dependencias
npm run dev # roda o projeto

o frontend estará rodando em http://localhost:3000/.

Obs.: crie um arquivo .env na raiz da pasta web e coloque a variável de ambiente. Exemplo está no arquivo .env.exemplo.

Obs.: para não ser bloqueado pelo erro de CORS é preciso alterar o arquivo em server > src > app.js e na linha 15 colocar o endereço do frontend: origin: "http://localhost:3000",.


Depois de feitas todas essas configurações, sempre que precisar rodar o projeto, basta executar o comando npm run dev em cada pasta (server e web) e o projeto estará rodando.

Como contribuir

Para contribuir com o projeto, leia: Como contribuir.

passeios-turisticos-bba's People

Contributors

alanabacco avatar

Stargazers

Guilherme Santos avatar

Watchers

 avatar  avatar

passeios-turisticos-bba's Issues

Colocar um calendário de eventos na página de eventos

Como sugestão recebida, podemos adicionar um calendário de eventos no site.

Já fiz uma pesquisa e alguns testes, e podemos usar a biblioteca react-big-calendar.
Nessa lib conseguimos adicionar os eventos e ainda com a api da apibrasil podemos adicionar também os feriados nacionais.

colocar a label 'aria-hidden' no componente para não ser lido pelos leitores de tela.

image

Testes automatizados backend

Faz parte do tema do trabalho fazermos testes no site, podemos fazer testes automatizados no backend com jest, testing library ou qualquer outro.

Testes automatizados frontend

Faz parte do tema do trabalho fazermos testes no site, podemos fazer testes automatizados com jest, testing library, cypress ou qualquer outro.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.