Neste projeto, criaremos um sistema de uma loja de jogos digitais, possibilitando ao usuário uma forma fácil de adquirir seus jogos e mantê-los em sua biblioteca, gerenciar sua carteira digital e diversas outras funcionalidades utilizando apenas o terminal de linha de comando.
Cada usuário possuirá uma conta, podendo esta ser administrador (admin) ou padrão. Assim, após a criação da conta, o usuário padrão poderá realizar login no sistema para visualizar os jogos, avaliá-los, deixar comentários sobre o jogo, comprar os jogos que desejar, gerenciar sua carteira digital com operações de depósito e consulta de saldo, e também bater um papo com outro usuário através de um chat privado.
Para facilitar a busca de jogos por parte do usuário, além da pesquisa por nome, o sistema conta com métodos de filtragem para exibição dos jogos (mais vendidos, mais jogados, lançamentos, gêneros como RPG, terror, puzzle, etc).
O usuário administrador tem privilégios no sistema, como cadastrar jogos, atualizar jogos, ter um dashboard com diversas estatísticas do sistema e analisar as denúncias feitas pelos usuários.
-
Gerais
- Criar conta;
- Fazer login.
-
Administrador
- Adicionar, atualizar, visualizar e remover jogos;
- Analisar denúncias;
- Visualizar dashboard com estatísticas do sistema.
-
Usuário padrão
- Visualizar jogos disponíveis (A visualização pode ser filtrada por gênero, mais vendidos, data de lançamento, mais avaliados, nome e preço);
- Comprar jogos disponíveis;
- Avaliar jogos;
- Favoritar jogos;
- Gerenciar carteira digital (depósito e consulta de saldo);
- Comentar jogo;
- Denunciar jogo;
- Conversar através de chat privado com outros usuários.
-
Baixe o PostgreSQL:
-
Se for executar o projeto em Prolog, precisará baixar o driver do PostgreSQL OBDC para Windows (Link)
-
Após isso, você cria a database "lojajogos" no pgAdmin
-
Pesquise no menu iniciar por ODBC e clique na primeira opção. A tela “Administrador de Fonte de Dados ODBC” deve abrir. Na aba “DNS de Usuário” clique em Adicionar, e crie uma fonte de dados com o driver “PostgreSQL Unicode” que você baixou anteriormente. Os dados a serem inseridos são dessa forma (semelhante à anterior):
Data Source: SWI-Prolog Database: lojajogos Server: localhost User: postgres Description: Conexão ODBC para o PostgreSQL SSL mode: disable Port: 5432 Password: postgres
-
-
Em caso de sistemas Unix, o driver do PostreSQL pode ser instalado e configurado da seguinte maneira:
- Instalação do driver do PostgreSQL com
sudo apt-get install odbc-postgresql
- Instalação do ODBC para Prolog com
apt install swi-prolog-odbc
- Em seguida, no terminal, a partir do diretório raiz, navegar para o diretório do arquivo de inicialização do odbc com
cd /etc
e abrir o arquivo de inicializaçao comsudo vim odbc.ini
ousudo nano odbc.ini
(ou algum outro editor com permissão de superusuário). - Após isso, colar os seguintes dados de configuração da conexão com o banco:
[SWI-Prolog] Description = Conexão ODBC para o PostgreSQL Driver = PostgreSQL Unicode Servername = localhost Database = lojajogos UserName = postgres Password = postgres Port = 5432
- Por fim, basta salvar e fechar o arquivo que, assim, a conexão com o banco estará configurada.
- Instalação do driver do PostgreSQL com
-
Após a instalação, entre no pgAdmin e crie a database com o nome "lojajogos"
-
Configurações iniciais:
-
Caso peça para configurar username e password antes do passo 2, configure da seguinte forma:
username: postgres password: postgres host name/address: localhost port: 5432
-
Caso não peça, clique com o botão direito no servidor onde está sua database, vá em connection e configure com as informações acima.
-
-
Após as configurações, execute o projeto e em seguida copie o conteúdo do arquivo dadosIniciais.sql, cole na Query Tool do pgAdmin e execute, um comando por vez, para popular uma conta administrador padrão e alguns jogos na sua base de dados.
Observação: A configuração deve seguir a mesma que o tutorial acima. Caso contrário, a aplicação pode resultar em erros.
- Faça a instalação do GHCup
- Depois de configurar seu PostgreSQL, abra o terminal no diretório "haskell" e rode os comandos
cabal init -n
ecabal build
- Caso não ocorra erros, digite
cabal run
Observação 1: Caso esteja usando Visual Studio Code, baixe as extensões necessárias.
Observação 2: Em caso de erro na lib "base", você pode alterar a versão manualmente no arquivo "haskell.cabal" com a versão da sua máquina.
- Faça a instalação do SWI-Prolog (Tutorial de instalação para Windows)
- Depois de configurar seu PostgreSQL, abra o terminal no diretório "prolog" e rode os comandos
swipl main.pl
.