Typegram - Plataforma Zen Blog

Oi Habr. Decidi mostrar o motor , que estou desenvolvendo lentamente. Esta é uma plataforma de blogs, com recursos muito próximos a projetos médios e similares.


Funcionalidades básicas:


Publicações, comentários, favoritos, assinaturas, notificações, classificações, votação.


Design minimalista de texto:


Área de recreação


Há um playground onde você pode tocar a plataforma, sem prejuízo dos civis: local do teste .


Localização


O serviço separa automaticamente os usuários por idioma, direcionando usuários que falam russo para o subdomínio russo e usuários que falam inglês para inglês. Essa separação é essencialmente implementada no nível do conteúdo. A interface verdadeira está disponível apenas em inglês. Cada subdomínio tem seu próprio banco de dados e seus usuários, o registro não é de ponta a ponta (cada subdomínio tem seu próprio ecossistema, a vida não se originou em todos os lugares, por exemplo).



Otimização


O serviço é caracterizado por otimização muito agressiva. Todas as imagens baixadas de mais de 100 kilobytes são pressionadas pelo método Atkinson em visualizações em preto e branco, com a capacidade de visualizar o original, por exemplo:


Scripts e estilos pesados ​​não são usados, bem como scripts externos que monitoram o comportamento do usuário. O site permanece rápido e conveniente em qualquer plataforma, incluindo o javascript desativado. No futuro, quero atingir a velocidade de download dos canais de telegrama.


Assinaturas


A página principal exibe uma lista de autores nos quais o usuário está inscrito e o número de novas publicações para cada autor. Quando você clica nesse botão, as publicações não lidas são abertas, em ordem cronológica, como nos canais de telegrama:



Notificações


Também na página principal, são exibidas notificações de menções nos comentários, com a possibilidade de transição:



O editor


O editor suporta formatação de texto de marcação e visual, com a capacidade de visualizar, expandir para tela cheia, etc. Estão em andamento trabalhos para garantir a disponibilidade do site para usuários cegos e com deficiência visual.


Sistema de classificação


Existem três seções com nomes estranhos na página principal:
top mid btm



Sim, eu amo DotA (o nome do meu cachorro é Pooja, por exemplo). Eu acho que as classificações são mais sobre mecânica / motivação do jogo do que algo seriamente adequado. Todos os artigos vão para a classificação agrícola em meados) Como cultivados - entre no topo. Se o meio for mesclado, eles cairão no fundo. A fórmula estimada é cuidadosamente roubada do ycombinator (novos artigos precisam de menos votos para chegar ao topo do que os antigos). Desculpe por tanta manipulação gratuita de uma coisa tão sagrada para muitos como uma classificação. No entanto, atualmente não há classificação de autores como tal. Apenas artigos de classificação.


Classificação do artigo.


+ 5: 1 -


Cada usuário tem 10 votos por dia. Ele pode gastá-los tanto nos prós e contras. Quanto a um artigo com todos os 10 votos, distribuí-los como ele quiser.
O autor do artigo vê reações negativas e positivas, separadamente.



Avaliação do comentário


Os comentários são classificados apenas positivamente. Não sei por que, não pergunte. Eu queria dar mais oportunidades para coletar feedback com diferentes mecânicos. Apenas um voto pode ser lançado para um comentário. Cada usuário tem 10 votos por comentário por dia. Um comentário - um voto. Parece transparente, mas não é preciso. Talvez isso mude em breve.


Tags


Cada artigo pode ter uma etiqueta global. Até agora, apenas um (por algum motivo, enormes nuvens de tags para todas as ocasiões me assustam).



Abertura


O código fonte do projeto está aberto. No github, estão disponíveis instruções para montar e implantar sua própria versão: github


Limitações


Este não é o primeiro projeto com UGC. Infelizmente, as cartas de felicidade de Roskomnadzor / Provedor de Hospedagem chegam uma vez por semana. Portanto, reajo de maneira nervosa à pornografia infantil e a outros conteúdos ilegais. O botão de proibição - um dos primeiros que apareceu (por algum motivo, muitas pessoas de alguma forma estranha interpretam o significado da palavra código-fonte aberto. Bem, associações com telegramas / telégrafos funcionam. Existem outras restrições também - os usuários são limitados na frequência de comentários e postagens, há limites para o registro. Por exemplo, Você não pode deixar novos comentários mais de uma vez por minuto. Deve haver mais de 10 caracteres em um comentário ou postagem. Esse conjunto de restrições não apareceu do zero. Isso literalmente enfurece alguns.


O que há dentro


O projeto é escrito em golang, sem dependências externas. Agora, ele está hospedado em um servidor dedicado regular, com HD lento e sob alta carga ainda não foi. Eu não gostaria de me antecipar e dizer o que é um banco de dados bonito no centro, pois primeiro você precisa ter certeza de que é realmente bonito)


Isenção de responsabilidade


Muito ainda não foi concluído. Muitas coisas não são implementadas como todos os outros. Estou experimentando alguma coisa. Algo vai parecer errado para você. Mas se o projeto lhe pareceu interessante, tente: github

Source: https://habr.com/ru/post/pt420107/


All Articles