Skip to content

TCC para o curso de Análise e Desenvolvimento de Sistemas da Fatec Sorocaba.

License

Notifications You must be signed in to change notification settings

Edssaac/classificadosfatec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apresentação Geral

Nome do Projeto: Classificados Fatec

Descrição:

O Classificados Fatec é uma plataforma desenvolvida especialmente para os alunos da Fatec, com o objetivo de facilitar a troca de informações e recursos entre a comunidade acadêmica. Este sistema permite que os usuários se cadastrem e criem anúncios relacionados à faculdade e aos cursos oferecidos. Os anúncios podem abranger uma variedade de itens, desde monitorias acadêmicas até produtos relevantes para o dia a dia do aluno.

Além de cadastrar e visualizar anúncios, os usuários têm a opção de criar pedidos de solicitação para itens ou serviços que não estejam disponíveis na plataforma. Isso garante que todas as necessidades da comunidade acadêmica possam ser atendidas de maneira eficiente.

A plataforma também oferece recursos interativos para a avaliação de anúncios. Cada anúncio pode ser comentado e avaliado com estrelas, permitindo que outros usuários compartilhem suas experiências e opiniões. Além disso, há uma seção dedicada para dúvidas em cada anúncio, promovendo uma comunicação mais eficaz entre os interessados.

O Classificados Fatec é a ferramenta ideal para quem deseja otimizar a troca de informações e a oferta de recursos dentro da faculdade, garantindo um ambiente colaborativo e dinâmico para todos os seus usuários.

demo

Objetivo:

Implementar um sistema para o Trabalho de Conclusão de Curso de Análise e Desenvolvimento de Sistemas para a Fatec Sorocaba.

Tecnologias Utilizadas:

COMPOSER PHP MYSQL HTML CSS BOOTSTRAP JAVASCRIPT JQUERY

Para Desenvolvedores

Se você é um desenvolvedor interessado em contribuir ou entender melhor o funcionamento do projeto, aqui estão algumas informações adicionais:


Requisitos de Instalação:

COMPOSER PHP


Instruções de Instalação:

  1. Clone o repositório do projeto:
git clone https://github.com/edssaac/classificadosfatec
  1. Navegue até o diretório do projeto:
cd classificadosfatec
  1. Configure o Composer:
composer install
  1. Configure o banco de dados:
CREATE DATABASE IF NOT EXISTS `classificados_fatec`;

USE `classificados_fatec`;

CREATE TABLE IF NOT EXISTS `user` (
    `user_id` INT NOT NULL AUTO_INCREMENT,
    `admin` BOOLEAN NOT NULL DEFAULT 0,
    `name` VARCHAR(255) NOT NULL,
    `birth_date` DATE NOT NULL,
    `phone` VARCHAR(20),
    `institution` INT NOT NULL,
    `email` VARCHAR(100) UNIQUE NOT NULL,
    `password` VARCHAR(60) NOT NULL,
    `token` VARCHAR(40),
    `active` BOOLEAN NOT NULL DEFAULT 0,
    `last_access` DATETIME,
    PRIMARY KEY(`user_id`)
);

CREATE TABLE IF NOT EXISTS `ad` (
    `ad_id` INT NOT NULL AUTO_INCREMENT,
    `user_id` INT NOT NULL,
    `title` VARCHAR(255) NOT NULL,
    `description` TEXT NOT NULL,
    `status` BOOLEAN NOT NULL DEFAULT 0,
    `ad_date` DATETIME NOT NULL DEFAULT NOW(),
    `price` DECIMAL(10, 2) NOT NULL,
    `discount` DECIMAL(10, 2),
    `discount_date` DATETIME,
    `type` ENUM('monitoria', 'produto') NOT NULL,
    `expiry_date` DATE,
    PRIMARY KEY(`ad_id`),
    FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`)
);

CREATE TABLE IF NOT EXISTS `tutoring` (
    `tutoring_id` INT NOT NULL AUTO_INCREMENT,
    `ad_id` INT NOT NULL,
    `subject` VARCHAR(255) NOT NULL,
    `schedules` JSON NOT NULL,
    PRIMARY KEY(`tutoring_id`),
    FOREIGN KEY (`ad_id`) REFERENCES `ad`(`ad_id`)
);

CREATE TABLE IF NOT EXISTS `product` (
    `product_id` INT NOT NULL AUTO_INCREMENT,
    `ad_id` INT NOT NULL,
    `photo_name` VARCHAR(255),
    `photo_token` VARCHAR(255),
    `condition` ENUM('novo', 'seminovo', 'usado') NOT NULL,
    `operation` ENUM('venda', 'troca', 'ambos') NOT NULL,
    `quantity` INT NOT NULL DEFAULT 0,
    PRIMARY KEY(`product_id`),
    FOREIGN KEY (`ad_id`) REFERENCES `ad`(`ad_id`)
);

CREATE TABLE IF NOT EXISTS `review` (
    `review_id` INT NOT NULL AUTO_INCREMENT,
    `ad_id` INT NOT NULL,
    `user_id` INT NOT NULL,
    `comment` TEXT,
    `rating` TINYINT NOT NULL CHECK (`rating` BETWEEN 1 AND 5),
    `review_date` DATETIME NOT NULL DEFAULT NOW(),
    PRIMARY KEY(`review_id`),
    FOREIGN KEY (`ad_id`) REFERENCES `ad`(`ad_id`),
    FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`)
);

CREATE TABLE IF NOT EXISTS `question` (
    `question_id` INT NOT NULL AUTO_INCREMENT,
    `ad_id` INT NOT NULL,
    `user_id` INT NOT NULL,
    `question` TEXT NOT NULL,
    `question_date` DATETIME NOT NULL DEFAULT NOW(),
    `answer` TEXT,
    `answer_date` DATETIME,
    PRIMARY KEY(`question_id`),
    FOREIGN KEY (`ad_id`) REFERENCES `ad`(`ad_id`),
    FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`)
);

CREATE TABLE IF NOT EXISTS `solicitation` (
    `solicitation_id` INT NOT NULL AUTO_INCREMENT,
    `user_id` INT NOT NULL,
    `title` VARCHAR(255) NOT NULL,
    `description` TEXT NOT NULL,
    `solicitation_date` DATETIME NOT NULL DEFAULT NOW(),
    `type` ENUM('monitoria', 'produto') NOT NULL,
    `expiry_date` DATE,
    PRIMARY KEY(`solicitation_id`),
    FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`)
);

CREATE TABLE IF NOT EXISTS `comment` (
    `comment_id` INT NOT NULL AUTO_INCREMENT,
    `solicitation_id` INT NOT NULL,
    `user_id` INT NOT NULL,
    `comment` TEXT NOT NULL,
    `comment_date` DATETIME NOT NULL DEFAULT NOW(),
    PRIMARY KEY(`comment_id`),
    FOREIGN KEY (`solicitation_id`) REFERENCES `solicitation`(`solicitation_id`),
    FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`)
);
  1. Configure o .env com os dados necessários.

Como Executar:

Após concluir as etapas de instalação e configuração mencionadas acima, você está pronto para iniciar a aplicação. Siga os passos abaixo:

  1. Como esta é uma aplicação simples, você pode usar o servidor embutido do PHP para servir a aplicação.
    Abra o terminal e execute o seguinte comando na raiz do projeto:

    php -S localhost:8080 -t ./public
    

    Isso iniciará um servidor local na porta 8080.

  2. Uma vez que o servidor esteja em execução, abra seu navegador e acesse a seguinte URL na barra de endereço:

    http://localhost:8080
    

    Isso irá carregar a página inicial da aplicação.

Certifique-se de que o servidor PHP embutido esteja sempre em execução enquanto você estiver trabalhando na aplicação localmente.
Se desejar encerrar o servidor, basta pressionar ctrl + C no terminal onde o servidor está sendo executado.

Contato

GitHub Gmail Outlook Linkedin