É um sistema de gestão de processos de trabalho de conclusão de curso de Tecnologia em Sistemas para Internet (TSI) da UTFPR Câmpus Guarapuava.
O objetivo desse sistema foi aperfeiçoar o SGTCC do curso de TSI, de modo a eliminar o uso de documentos impressos e assinaturas físicas. Para este fim, foi utilizado a assinatura eletrônica.
O projeto foi desenvolvido com as seguintes tecnologias:
- Ruby on Rails
- PostgreSQL
- @rails/webpacker
- Vue 2
- Bootstrap 4
- Tabler.io - template
Este sistema contém alguns requisitos para rodar localmente:
1. Requisitos
Primeiro é preciso instalar os seguintes pacotes
nodejs
libpq-dev
postgresql
postgresql-contrib
imagemagick
yarn
Também é necessário instalar o Bundler e o Rails
$ gem install bundler
$ gem install rails
2. Clonar o projeto
$ git clone https://github.com/utfpr-gp-tsi/SGTCC.git
3. Acessar a pasta do projeto
cd SGTCC
4. Instalar as dependências
Instalar as gems do ruby
$ bundle install
Instalar os pacotes JavaScript
$ yarn install
5. Configurar o PostgreSQL
Criar um arquivo chamado "application.yml" usando o examplo "appplication.yml.example"
$ cp config/appplication.yml.example config/application.yml
Nesse arquivo é preciso alterar o username e o password conforme seu usuário e senha do PostgreSQL
database: &database
db.username: postgres
db.password: postgres
db.host: localhost
6. Configurar o envio de emails
No "application.yml" é preciso alterar o username e password. Nesse projeto está sendo usado o mailtrap para enviar emails.
mailer: &mailer
mailer.smtp.username: 'username'
mailer.smtp.password: 'password'
7. Criar o banco de dados e as tabelas
$ rails db:create
$ rails db:migrate
8. Popular a aplicação para testes
$ rails db:populate
9. Rodar a aplicação
$ rails s
e em outro terminal rodar o servidor do webpack:
$ yarn run webpack
10. Acessar a aplicação no navegador
- Acessar o http://localhost:3000
Primeiro, é preciso criar a base de dados para os testes
$ rails db:create RAILS_ENV=test
$ rails db:migrate RAILS_ENV=test
Rodar testes do rspec
$ rspec
Qualidade do código
Ruby:
$ rubocop
JavaScript:
$ yarn run lint