All Projects → Enegrecer → Enegrecer Web

Enegrecer / Enegrecer Web

Licence: mit
Verdade Seja Dita!

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Enegrecer Web

React Social Network
Simple React Social Network
Stars: ✭ 409 (+261.95%)
Mutual labels:  firebase, redux-saga
Todo Redux Saga
Todo app with Create-React-App • React-Redux • Redux-Saga • Firebase • OAuth
Stars: ✭ 184 (+62.83%)
Mutual labels:  firebase, redux-saga
App Framework
Applications for any device with HTML, CSS and JavaScript - free and open source!
Stars: ✭ 639 (+465.49%)
Mutual labels:  firebase, webapp
Redux Saga Firebase
A redux saga integration for firebase.
Stars: ✭ 279 (+146.9%)
Mutual labels:  firebase, redux-saga
Fakturama
Wystawiaj faktury za darmo i bez ograniczeń
Stars: ✭ 76 (-32.74%)
Mutual labels:  firebase, webapp
Rxgithub
An example of MVVM using RxSwift and Swinject (DI)
Stars: ✭ 109 (-3.54%)
Mutual labels:  firebase
Fireshodanmap
FireShodanMap is a Realtime map that integrates Firebase, Google Maps and Shodan. A search is carried out using Shodan searching vulnerable devices and they are showed on the map for analysis. All data updated in Firebase are Realtime.
Stars: ✭ 111 (-1.77%)
Mutual labels:  firebase
Exermote
Using Machine Learning to predict the type of exercise from movement data
Stars: ✭ 108 (-4.42%)
Mutual labels:  firebase
Biliob Frontend
The frontend part of biliob.
Stars: ✭ 108 (-4.42%)
Mutual labels:  webapp
React Native Firebase Chat
React Native chat application using firebase.
Stars: ✭ 113 (+0%)
Mutual labels:  firebase
Interview Problem Summary
🎤 Prepare for the interviews and sum up the most popular interview problems for front-end(HTML/CSS/Javascript), Web development, full-stack. Also did some typical coding practice questions, such as UI caculator
Stars: ✭ 112 (-0.88%)
Mutual labels:  redux-saga
Instagram
Subscribe to my YouTube channel: https://bit.ly/CognitiveSurge - Building Instagram Using React
Stars: ✭ 109 (-3.54%)
Mutual labels:  firebase
Awesome Firebase
Awesome Firebase: Firebase 相关文章索引
Stars: ✭ 109 (-3.54%)
Mutual labels:  firebase
React Mobx Firebase Authentication
🔥Boilerplate Project for Authentication with Firebase in React and MobX
Stars: ✭ 111 (-1.77%)
Mutual labels:  firebase
Tindergram
🔥 Tinder clone in Swift
Stars: ✭ 108 (-4.42%)
Mutual labels:  firebase
Traduora
Ever® Traduora - Open-Source Translation Management Platform
Stars: ✭ 1,580 (+1298.23%)
Mutual labels:  webapp
Road Beyond React App
🌈 The Road beyond React - Thing you can use after learning plain React.js
Stars: ✭ 108 (-4.42%)
Mutual labels:  firebase
Sysmon
A B/S mode system monitor for linux (demo http://199.247.1.240:2048)
Stars: ✭ 110 (-2.65%)
Mutual labels:  webapp
Simple Firebase Unity
Firebase Realtime-Database's REST API Wrapper for Unity in C#
Stars: ✭ 111 (-1.77%)
Mutual labels:  firebase
Laqul
A complete starter kit that allows you create amazing apps that look native thanks to the Quasar Framework. Powered by an API developed in Laravel Framework using the easy GraphQL queries language. And ready to use the Google Firebase features.
Stars: ✭ 110 (-2.65%)
Mutual labels:  firebase

Coletivo Enegrecer

Build Status Test Coverage Code Climate

Neste Wiki

Configure seu ambiente

Antes de iniciar o desenvolvimento, você irá precisar configurar o seu ambiente. Abaixo estão os pré-requisitos necessários para desenvolver e/ou executar o projeto.

O Projeto Verdade Seja Dita

O coletivo nacional de Juventude Enegrecer é uma expressão do movimento social negro que luta contra as opressões da sociedade em favor da juventude negra. O projeto se propõe como uma plataforma para registrar denúncias de crimes raciais, a fim de se coletar dados para embasar e guiar ações e políticas antirracismo.

O Web App, Verdade Seja Dita, implementado neste respositório é uma das interfaces para essa plataforma, onde o usuário pode se informar mais a respeito e relatar um crime de racismos ou injúria.

Configurações

Primeiro clone o repositório:

git clone https://github.com/Enegrecer/enegrecer-web.git

Em seguida entre na pasta do projeto clonado e rode yarn install para baixar todas as dependencias:

cd enegrecer-web
yarn install

Ou você pode usar Docker localmente, antes de executar qualquer comando construa a imagem com:

docker build -t enegrecer .

Rodando o projeto

Para subir um servidor local para desenvolvimento rode:

yarn start

Usando Docker localmente:

docker run --rm -p 3000:3000 -v "$PWD":/usr/src/app -w /usr/src/app -it enegrecer

Isso irá subir um servidor com o aplicativo rodando em http://localhost:3000. Quando os arquivos dentro de src são alterados, automaticamente o código é recompilado e o aplicativo recarregado com as alterações.

Testes

O projeto está configurado para que o desenvolvimento seja feito em TDD, e assim o script:

yarn test

Usando Docker localmente:

docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app -it enegrecer yarn test-local

Com Docker para executar testes e lint:

docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app -it enegrecer yarn all-tests-local

Desta forma serão executados todos os arquivos de teste (arquivos .test.js) e entrar em modo de watch. De forma que toda vez que arquivos são alterados, sejam eles testes ou não, os testes que possuem qualquer relação com tal arquivo são executados novamente.

Por exemplo, se o componente Signin for alterado, todos os testes de Signin.test.js serão executados, mas também os testes de Login.test.js, pois o componente de Login utiliza, ou depende, do componete de Signin, e assim por diante. O mesmo é válido para alterações em arquivos de teste.

O projeto está utilizando o Jest como framework de testes. O jest oferece praticamente tudo que é necessário para testes no projeto, definindo a sintaxe de escrita dos mesmos, provendo mocks, e atuando como test runner. Adicionalmente, o enzyme é utilizado como facilitador dos testes de componentes do React.

Testes Funcionais

Os testes funcionais E2E foram desenvolvidos utilizando Protractor, Page Objects e Cucumber. Para execução é necessário seguir os seguintes passos:

  • Para executar os testes funcionais a aplicação deve estar rodando local, veja a sessão Rodando o projeto para mais detalhes.

  • Após ter a aplicação rodando, basta executar o comando:

yarn test:functional

Lint

O eslint é utilizado como linter do projeto. É recomendado que um plugin do mesmo seja utilizado em seu editor de preferência durante o desenvolvimento. Além disso é possível executar o lint de todo o projeto rodando o comando:

yarn lint

E existe também o modo de watch que pode ser rodado com:

yarn watch-lint

Build

O comando yarn build roda o script de build, responsável por preparar o projeto para um deploy em produção. Os arquivos passam por um processo de minificação e bundling. Gerando arquivos mais concisos, e mais leves. Todo o resultado do script aparece na pasta build que será gerada dentro do projeto.

Deploy

Atualmente o projeto está rodando em https://enegrecer-e37b3.firebaseapp.com/, sendo o Firebase o host e também responsável pelo controle de usuários e banco de dados da aplicação. A atualização ocorre automaticamente através do Travis-CI, que monitora por modificações na branch master deste repositório, e executa passos de lint, testes e deploy para o Firebase.

Tech stack

Na nossa stack temos:

  • React para criação do UI em componentes.
  • Redux para controle do estado da aplicação.
  • Redux-Saga para gerenciamento de chamadas assíncronas dentro do redux.
  • Babel como transpilador que permite que tais componentes sejam escritos utilizando ES8.
  • Webpack para servidor local de desenvolvimento, compilação, e bundling do código.
  • Jest como framework de testes.
  • Enzyme para auxiliar nos testes.
  • Protractor para testes funcionais E2E.
  • Cucumber como framework para suportar o BDD.
  • Eslint como ferramenta de linter.
  • Firebase Como hosting e back-end mantendo controle de dados, usuários, etc.
  • Travis-CI para criar nosso CI, executar testes e build automaticamente.
  • Code Climate para cobertura de código e análise estática.
  • Materialize Como framework CSS responsivo.

Como Contribuir

Para contribuir no projeto dê uma espiada no nosso Guia de Contribuição.

Mais Informações

Para mais informações, acesse a nossa wiki :).

Ou junte-se ao nosso espaço no Gitter.

Nós usamos o waffle para visualizar e organizar nossas issues.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].