Skip to content

JonathanMar/IFCar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Campo Tipo
cod_user INT
email_user VARCHAR
password_user VARCHAR

rides_tb

Campo Tipo
cod_ride INT
address_ride VARCHAR
time_ride TIME
max_quant_ride INT
accepted_ride INT
status_ride INT
date_ride TIMESTAMP

🔄 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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors