GithubHelp home page GithubHelp logo

rafaeldiehl / malba-beta Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6.14 MB

Projeto interdisciplinar

License: MIT License

JavaScript 3.43% HTML 0.35% Vue 36.29% CSS 0.03% Shell 0.43% PHP 50.67% Blade 8.80%
laravel mysql sass sql tailwindcss vuejs

malba-beta's Introduction

Um website para ensino de Matemática básica

Tabela de Contéudos

Introdução

Malba é um website voltado para o ensino de Matemática básica, com um sistema de séries de lições, progressão de nível e recompensas, fortemente inspirado na plataforma Duolingo.

Foi desenvolvido como Projeto Interdisciplinar do terceiro semestre do Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas do Instituto Federal de São Paulo — Campus Boituva, contemplando as disciplinas: Análise Orientada a Objetos, Banco de Dados II e Programação Web.

Documentação

Clique aqui para acessar o diretório com a documentação completa.

UML

O projeto contém os seguintes diagramas UML na sua documentação:

Banco de Dados

Os principais modelos do banco de dados também estão disponíveis no repositório:

Design e Protótipo

O design e protótipo interativo do sistema pode ser acessados pelo Figma.

Tecnologias

As tecnologias usados no projeto foram:

Frontend

Backend

Banco de Dados

Manutenção do Código

Gerenciamento de Pacotes

Prototipação e Modelagem

Instalação

Siga os passos abaixo para rodar o projeto localmente.

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas:

Caso esteja usando Windows, você pode facilmente instalar PHP usando a ferramenta Xampp. Além disto é bom ter um editor para trabalhar com o código como Visual Studio Code ou Sublime Text 3.

Com as ferramentas adequadamente instaladas, clone o repositório com o seguinte comando e acesse o diretório raiz:

# Clone o repositório
$ git clone https://github.com/rafaeldiehl/malba.git

# Acesse o diretório raiz
$ cd malba/

Frontend

Para rodar o frontend, execute os seguintes comandos (certifique-se de estar no diretório raiz do projeto):

# Acesse o diretório frontend
$ cd frontend/

# Instale as dependências necessárias
$ npm i

# Rode o servidor local
$ npm run serve

Backend

Para rodar o backend, edite o arquivo com as variáveis de ambiente, configurando seu banco de dados adequadamente. Exemplo:

# Acesse o diretório backend
$ cd backend/

# Copie o arquivo .env.example para um arquivo .env
$ cp .env.example .env

# Edite o arquivo
$ nano .env

Exemplo de configuração no arquivo .env:

...

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=123456

...

Com a configuração pronta, execute os seguintes comandos (certifique-se de estar no diretório backend/ do projeto):

# Instale as dependências necessárias
$ composer install

# Execute as migrações e propagadores
$ php artisan migrate
$ php artisan db:seed

# Execute o servidor
$ php artisan serve

As seguintes rotas da API estão disponíveis, caso queira testar requisições HTTP:

  • POST /api/register (cadastra um usuário)
  • POST /api/login (autentica um usuário e retorna um token)
  • POST /api/logout (encerra sessão no lado do servidor)
  • GET /api/users (retorna os usuários clientes)
  • GET /api/users/:id (retorna o usuário especificado)
  • GET /api/users/admin (retorna os administradores)
  • GET /api/users/hits/asc (retorna os usuários pelos acertos em ordem crescente)
  • GET /api/users/hits/desc (retorna os usuários pelos acertos em ordem descrescente)
  • PUT /api/users/:id (atualiza preferências de um usuário)
  • DELETE /api/users/:id (remove um usuário)
  • GET /api/avatars (retorna os avatares)
  • GET /api/avatars/:id (retorna avatar especificado)
  • GET /api/types (retorna os tipos de questões)
  • GET /api/types/:id (retorna tipo de questão especificado)
  • GET /api/topics (retorna lista de tópicos)
  • POST /api/topics (cria um novo tópico)
  • PUT /api/topics (atualiza o tópico especificado)
  • DELETE /api/topics/:id (remove o tópico especificado)
  • GET /api/subtopics (retorna lista de subtópicos)
  • POST /api/subtopics (cria um novo subtópico)
  • PUT /api/subtopics (atualiza o subtópico especificado)
  • DELETE /api/subtopics/:id (remove o subtópico especificado)

Licença

Este projeto está sob a licença MIT.

Status do Projeto

Em andamento.

Autor


Rafael Diehl (SP - Brasil, 🇧🇷)

Entre em contato! 👋🏽

Linkedin Badge Gmail Badge

malba-beta's People

Contributors

rafaeldiehl avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.