Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 IFCar

IFCar Logo

Plataforma de compartilhamento de caronas para estudantes e servidores do IFSULDEMINAS.


📖 Sobre o Projeto

O IFCar é uma plataforma web desenvolvida para facilitar o compartilhamento de caronas entre estudantes, professores e servidores do IFSULDEMINAS.

O sistema permite que usuários:

  • Cadastrem novas caronas;
  • Visualizem caronas disponíveis;
  • Reservem vagas em caronas existentes;
  • Cancelarem participações;
  • Realizem autenticação através de login seguro;
  • Gerenciem sessões de usuário.

O objetivo principal é reduzir custos de transporte, promover sustentabilidade e incentivar a integração da comunidade acadêmica.


✨ Funcionalidades

👤 Usuários

  • Cadastro de conta
  • Login
  • Logout
  • Controle de sessão

🚘 Caronas

  • Cadastro de caronas
  • Visualização de caronas disponíveis
  • Aceitação de caronas
  • Cancelamento de participação
  • Controle de vagas disponíveis

🔒 Segurança

  • Hash de senha utilizando BCrypt
  • Sessões PHP
  • Prepared Statements contra SQL Injection

🏗️ Arquitetura

Cliente (HTML/CSS/JS)
│
▼
PHP (API Backend)
│
▼
Banco de Dados MySQL

📂 Estrutura do Projeto

IFCar/
│
├── css/
│ └── style.css
│
├── img/
│ ├── logo.png
│ └── guarrita_01.jpg
│
├── js/
│ ├── login.js
│ ├── register.js
│ ├── script.js
│ ├── verificarSessao.js
│ └── ...
│
├── php/
│ ├── connection.php
│ ├── queries.php
│ ├── cadastra_carona.php
│ ├── mostra_carona.php
│ └── user/
│ ├── login.php
│ ├── create_account.php
│ └── destroy_session.php
│
├── sql/
│ ├── sql.sql
│ └── postgre.sql
│
├── src/
│ ├── login.html
│ ├── formulario_criar_conta.html
│ └── formulario_cadastro.html
│
└── index.html

🛠️ Tecnologias Utilizadas

Front-end

  • HTML5
  • CSS3
  • JavaScript (ES6)

Back-end

  • PHP

Banco de Dados

  • MySQL
  • PostgreSQL (estrutura alternativa)

Segurança

  • Password Hashing (BCrypt)
  • PHP Sessions
  • Prepared Statements

⚙️ Instalação

1. Clonar o repositório

git clone https://github.com/JonathanMar/IFCar.git

2. Entrar no diretório

cd IFCar

3. Criar banco de dados

Execute:

sql/sql.sql

ou

sql/postgre.sql

dependendo do SGBD utilizado.


4. Configurar conexão

Arquivo:

php/connection.php

Exemplo:

$host = "localhost";
$connname = "IFcar";
$user = "root";
$password = "";

5. Iniciar servidor PHP

php -S localhost:8000

6. Acessar aplicação

http://localhost:8000

🗄️ Modelo de Dados

users_tb

CampoTipo
cod_userINT
email_userVARCHAR
password_userVARCHAR

rides_tb

CampoTipo
cod_rideINT
address_rideVARCHAR
time_rideTIME
max_quant_rideINT
accepted_rideINT
status_rideINT
date_rideTIMESTAMP

🔄 Fluxo do Sistema

Cadastro
│
▼
Login
│
▼
Sessão Ativa
│
├── Cadastrar Carona
│
├── Visualizar Caronas
│
├── Aceitar Carona
│
└── Cancelar Carona

🚧 Melhorias Futuras

  • Perfil completo do usuário
  • Recuperação de senha
  • Geolocalização
  • Integração com Google Maps
  • Notificações em tempo real
  • Sistema de avaliações
  • Histórico de viagens
  • API REST

📸 Capturas de Tela

Adicionar imagens da aplicação:

img/screenshots/

Exemplos:

  • Tela de Login
  • Cadastro
  • Listagem de Caronas
  • Cadastro de Carona

🤝 Contribuição

  1. Faça um Fork do projeto
  2. Crie uma branch
git checkout -b feature/nova-funcionalidade
  1. Commit
git commit -m "feat: adiciona nova funcionalidade"
  1. Push
git push origin feature/nova-funcionalidade
  1. Abra um Pull Request

📄 Licença

Este projeto está licenciado sob os termos da licença MIT.


👨‍💻 Autor

Jonathan Marcon

Projeto desenvolvido para fins acadêmicos no curso de Ciência da Computação.


⭐ Se este projeto foi útil para você, considere deixar uma estrela no repositório.

About

🚗 Carpool management platform for academic communities • Ride creation and booking system • User authentication with PHP sessions • Real-time ride availability tracking • Built with PHP, JavaScript, MySQL and PostgreSQL support

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages