Skip to content

Serviço de criação de formulários/enquetes online (similar ao Google Forms) baseado em análise de texto

License

Notifications You must be signed in to change notification settings

practice-uffs/forms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
Apr 8, 2022
May 19, 2022
Jul 23, 2021
Aug 8, 2022
Sep 3, 2021
May 3, 2022
Aug 8, 2022
Mar 28, 2022
Aug 25, 2021
Aug 25, 2021
Jul 23, 2021
Aug 25, 2021
Mar 8, 2022
Jul 23, 2021
Mar 4, 2022
Aug 25, 2021
Jul 23, 2021
Jul 23, 2021
Jul 23, 2021
Jul 23, 2021
Aug 25, 2021
Mar 24, 2022
Jul 23, 2021
Jul 23, 2021
May 6, 2022
May 6, 2022
Jul 23, 2021
May 6, 2022
Aug 25, 2021
Jul 23, 2021
Aug 25, 2021
Aug 25, 2021
Aug 25, 2021

Repository files navigation


Forms

O Practice Forms é um sistema que possibilita que usuários criem enquetes/formulários ao estilo do Google Forms, porém a criação (e edição) se dá em formato de texto puro. O objetivo principal é facilitar a criação através de uma interface mais intuitiva.

IMPORTANTE: se você deseja utilizar o sistema, o Practice Forms está em funcionamento em practice.uffs.edu.br/forms.

✨ Features

O forms possui um conjunto considerável de features:

  • Autenticação a partir do idUFFS.
  • Criação de enquetes/forms a partir de texto puro.
  • Acompanhamento de respostas (em tempo real).

🚀 Começando

1. Dependências

Para executar o projeto, você precisa ter o seguinte instalado:

1.1 Git

sudo apt install git

1.2 PHP

sudo apt install php7.4-cli

1.3 Composer

1.4 Node JS

sudo apt install nodejs

1.5 NPM

sudo apt install npm

1.5.1 Módulo "n" e alterando versão do Node

sudo npm install -g n
sudo n stable

1.6 Extensões necessárias

sudo apt install php-cli php-mbstring php-zip php-xml php-curl php-gd

2. Configuração

Feito a instalação das dependências, é necessário obter uma cópia do projeto. A forma recomendada é clonar o repositório para a sua máquina.

Para isso, rode:

git clone --recurse-submodules https://github.com/practice-uffs/forms && cd forms

Isso criará e trocará para a pasta forms com o código do projeto.

2.1 PHP

Instale as dependências do PHP usando o comando abaixo:

composer install

2.2 Instalando sqLite 3

sudo apt install php-sqlite3

2.3 Banco de Dados

O banco de dados mais simples para uso é o SQLite. Para criar uma base usando esse SGBD, rode:

touch database/database.sqlite

2.4 Node

Instale também as dependências do NodeJS executando:

npm install

2.5 Laravel

Crie o arquivo .env a partir do arquivo .env.example gerado automaticamente pelo Laravel:

cp .env.example .env

Criação as tabelas do banco de dados com as migrações esquemas:

php artisan migrate

Rode os seeders (que crias as categorias/serviços padrão):

php artisan db:seed

Gere aa chave de autenticação da aplicação:

php artisan key:generate

Por fim gere os recursos JavaScript e CSS:

npm run dev

DICA: enquanto estiver desenvolvendo, rode npm run watch para manter os scripts javascript sendo gerados sob demanda quando alterados.

3. Utilizacão

3.1 Rodando o projeto

Depois de seguir todos os passos de instalação, inicie o servidor do Laravel:

php artisan serve

Após isso a aplicação estará rodando na porta 8000 e poderá ser acessada em localhost:8000.

Para que as notificações em tempo real funcionem, você precisa rodar as filas (queues) do Laravel

php artisan queue:work

E também o servidor websocket (use outra sessão/aba do terminal para isso):

php artisan websockets:serve

3.2 Utilização da API

Se você utilizar a API dessa aplicacão, todos endpoints estarão acessivel em /api, por exemplo localhost:8000/api. Os endpoints que precisam de uma chave de autenticação devem ser utilizar o seguinte cabeçalho HTTP:

Authorization: Bearer XXX

onde XXX é o valor da sua chave de acesso (api token do Jetstream), por exemplo c08cbbfd6eefc83ac6d23c4c791277e4. Abaixo está um exemplo de requisição para o endpoint user utilizando a chave de acesso acima:

curl -H 'Accept: application/json' -H "Authorization: Bearer c08cbbfd6eefc83ac6d23c4c791277e4" http://localhost:8080/api/user

🤝 Contribua

Sua ajuda é muito bem-vinda, independente da forma! Confira o arquivo CONTRIBUTING.md para conhecer todas as formas de contribuir com o projeto. Por exemplo, sugerir uma nova funcionalidade, reportar um problema/bug, enviar um pull request, ou simplemente utilizar o projeto e comentar sua experiência.

Veja o arquivo ROADMAP.md para ter uma ideia de como o projeto deve evoluir.

🎫 Licença

Esse projeto é licenciado nos termos da licença open-source MIT e está disponível de graça.

🧬 Changelog

Veja todas as alterações desse projeto no arquivo CHANGELOG.md.

🧪 Links úteis

Abaixo está uma lista de links interessantes e projetos similares:

About

Serviço de criação de formulários/enquetes online (similar ao Google Forms) baseado em análise de texto

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages