Projeto desenvolvido para a disciplina de Engenharia de Software, do curso de Ciência da Computação da Universidade Estadual de Santa Cruz.
O projeto consiste em uma aplicação web para conectar pessoas que precisam de carona com pessoas que podem oferecer carona. A aplicação foi desenvolvida utilizando o framework Next.js, com o objetivo de facilitar a criação de aplicações React com renderização do lado do servidor.
Esse projeto é apenas o MVP do sistema, somente com a funcionalidade de ofertar e solicitar caronas.
O projeto foi desenvolvido utilizando o gerenciador de pacotes NPM, portanto, é necessário tê-lo instalado em sua máquina, assim como o Node.js.
Faça o clone do repositório:
git clone https://github.com/igorroc/app-caronas
Instale as dependências do projeto:
npm install
Crie um arquivo .env.local
na raiz do projeto, seguindo o modelo do arquivo .env.example
, e preencha as variáveis de ambiente com as informações do seu banco de dados.
Execute as migrations do banco de dados:
npx prisma migrate dev
Caso o comando acima não funcione, tente usar
dotenv -e .env.local -- npx prisma migrate dev
Inicie o servidor de desenvolvimento:
npm run dev
A aplicação estará disponível em http://localhost:3000.
O projeto foi desenvolvido utilizando o padrão de arquitetura MVC (Model-View-Controller), com a separação de pastas seguindo o padrão do framework Next.js.
As pastas e arquivos mais importantes são:
/components
: contém os componentes React utilizados nas páginas./public
: contém os arquivos estáticos da aplicação, como imagens e fontes./prisma
: contém os arquivos de configuração do Prisma, que é o ORM utilizado para fazer a conexão com o banco de dados.pages.tsx
: contém as páginas da aplicação, que são renderizadas no lado do servidor.routes.ts
: contém as rotas da API, que são utilizadas para fazer as requisições ao banco de dados.*.module.css
: arquivos CSS que são importados nos componentes React, utilizando o CSS Modules