API Webapp for colaboratively mapping your cities bike racks.
This API data is licensed under Creative Commons Attribution 4.0 International. It basically means you can use its data as you want as long as you give us proper credit. :)
The API for bike de boa, a (Progressive) Web App to find safe places to park your bike.
Home Page: https://www.bikedeboa.com.br
License: MIT License
API Webapp for colaboratively mapping your cities bike racks.
This API data is licensed under Creative Commons Attribution 4.0 International. It basically means you can use its data as you want as long as you give us proper credit. :)
O cache dos navegadores e dos crawlers das redes sociais não irão perceber quando alguém modificar uma foto de um bicicletário já que salvamos no Amazon S3 sempre com o mesmo nome de arquivo (o ID do bicicletário).
Pra resolver isso basta dar uma refatorada no código do backend pra adicionar um identificador sequencial a mais no nome (ID-1, ID-2, ...) ou mais simples ainda um timestamp da hora que a foto é salva.
Eu tenho usado o Mailchimp pra disparar emails pra alguns usuários, mas isso está sendo feito bem manualmente. Esse ticket é pra investigar como integrar com esse serviço pra de maneira automática:
Assim a gente nao precisa deletar sugestões que forem atendidas, e podemos manter um histórico delas.
O endpoint de GET /local/light (getAllLight) é uma das chamadas mais importantes da API em termos de Experiência de Usuário, foi é o que bloqueia o uso do aplicativo no primeiro acesso até que o cliente tenha recebido todos dados de todos bicicletários.
Apesar do grande impacto no tempo de carregamento do app, esta chamada não é muito otimizada. Acredito que podíamos facilmente melhorar bastante a performance se não tivéssemos que calcular o número de reviews e a note média pra cada um toda vez que é chamado. Esse número poderia ser pré-computado, salvo no próprio Local e atualizado a cada operação sobre as avaliações.
Alternativamente, implementar cache no servidor (#12) pode já melhorar bastante isso, sem gerar maiores complexidades de implementação.
Não tenho certeza, mas acho não temos middleware de cache do servidor. A ideia é que chamadas recentes à API não obriguem o servidor a trabalhar pra calcular tudo denovo e salve resultados pré-calculados. Isso é especialmente útil com alta demanda do servidor em um curto espaço de tempo.
Cuidado: cache é algo muito útil, mas muito fácil de fazer merda. Usar cache muito duradouro em respostas pode fazer o estado da aplicação parecer maluco, como se estivesse atualizando os dados quando na realidade está, mostrando dados antigos, etc.
Eu queria muito poder detectar se tem bicicletários visíveis na tela. Parece que o jeito mais eficiente de fazer isso é eu passar um bounding box pro backend e ele encontrar pra mim se há bicicletários dentro desta caixa.
https://trello.com/c/Rzul3E4f/214-melhoramentos-se%C3%A7%C3%A3o-sobre-o-projeto
Endpoint deveria retornar:
Nós pagamos hoje 7 dolares por mês pra cada servidor nosso no Heroku, independente do tráfego que temos. Um amigo sugeriu fortemente tentarmos usar diretamente o serviço da AWS, que provavelmente ficará bem mais barato e é muito mais flexível e poderoso.
Assim poderemos indexar bicicletarios por cidade, listar cidades com mais bicicletarios, detectar se uma cidade nao tem bicicletarios, ...
O PageSpeed Insights reclamou que nossas respostas da API não tem header de max-age, ou seja, não aproveitam o cache dos navegadores.
Cuidado: cache é algo muito útil, mas muito fácil de fazer merda. Usar cache muito duradouro em respostas pode fazer o estado da aplicação parecer maluco, como se estivesse atualizando os dados quando na realidade está, mostrando dados antigos, etc.
Algumas leituras pra ajudar:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching
https://jakearchibald.com/2016/caching-best-practices/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.