ST

Tripeace - Desenvolvimento de site em .NET C#

Por StriterAlfa, 04 de ago. de 2017 em Websites & Layouts

website
programação
.net
csharp
doação
open-source
7
2.8k
StriterAlfaS
04 de agosto de 2017 às 21:51

O que é Tripeace?

Tripeace é um site em código aberto para Tibia OT Server, sendo desenvolvido na linguagem C# .NET, principalmente para ser uma opção diferente aos sites existentes para OT Server em PHP. Tripeace é apenas o nome do projeto, nome de minha antiga guild no Tibia Global, mas será possível e fácil configurar o nome do site para o que você quiser.

 

 


Quem é você, Striter?
Me chamo Igor, tenho experiência profissional como desenvolvedor .NET por mais de 3 anos, principalmente como back-end. Também já trabalhei com automação de testes de sistemas e gestão de equipes de desenvolvimento. Atualmente estou desempregado. 
Meu GitHub: igorquintaes · GitHub
Meu Portfólio: Igor Pauli Quintaes

O que será necessário para hospedar o site?

- Sistema operacional Windows com IIS e .NET Framework instalados e atualizados, ou Linux;
- Atualizar o banco de dados do jogo com um arquivo .sql que é disponibilizado junto ao projeto;
- Opcionalmente, ter o Visual Studio instalado caso queira alterar regras de negócio ou adicionar novas funcionalidades (back-end);


Características e recursos

- Suporte a mais de um idioma simultaneamente
O site tem uma linguagem padrão baseada no acesso do usuário, mas ele pode alterar para a linguagem que quiser em tempo real. É possível, também, adicionar facilmente novos idiomas ao projeto.

- Segurança
Projetado em arquitetura em camadas, para prevenir acessos indesejados e injeções de dados. Também possui sistemas próprios de logins e criptografia, sistema de proteção a SQL Injection e de acessos não autorizados.

- Multi-plataforma
Mesmo desenvolvido em C#, linguagem da microsoft, é possível hospedar o site tanto em um servidor Windows quanto em servidor Linux. É possível também hospedar em um local diferente ao do servidor do OT Server e do banco de dados.

- ORM ao invés de consultas por SQL
Acha chato trabalhar no back-end fazendo aqueles selects e updates utilizando linguagem de banco de dados? O Tripeace faz tudo isso baseado em variáveis. 

- Registre tudo o que acontece
A plataforma registra automaticamente o IP das pessoas, que páginas elas tentam acessar, a conta com a qual está conectada, tentativas de hack, tentativas de acessar páginas restritas, tentativas de explorar erros ou de enviar dados falsos. Tudo, e você ainda tem a opção de configurar para adicionar mais ou retirar algo que não deseja.

- Painel administrativo para Gods e Game Masters
Com informações sobre número de jogadores online, momentos de pico, edição de dados, bloqueio de contas, número de visitas e muito mais.

- Template todo customizável
Tendo conhecimento das linguagens utilizadas no front-end de um site (HTML, CSS, Javascript), é possível alterar todo o layout sem nem tocar no back-end do sistema, e nem mesmo ter o Visual Studio instalado. Dados dinâmicos para IFs, FORs, demais lógicas e variáveis estão em Razor Syntax, similar ao PHP mas sem precisar compilar com o back-end. 

- Sistema de postagems

Para notícias, novidades, anúncios, enquetes. O que você quiser, e com comentários.

- Sistema de E-mails

Para anúncios, recuperação de conta, alertas, e mais!

O que já está pronto?

- Conexão ao banco de dados e mapeamento em variáveis;
- Sistema para suporte a vários idiomas;
- Sistema de registro de atividades;
- Sistema seguro de login;
- Criação de conta;
- Criação de personagem;
- Painel administrativo;
- Gerenciamento de contas no painel administrativo (listar, bloquear/desbloquear acesso do site, editar, banir/desbanir do jogo);

O que ainda será desenvolvido?

- Gerenciamento de contas no painel administrativo (exclusão de conta);
- Gerenciamento de personagens no painel administrativo;
- Gerenciamento de configurações no painel administrativo;
- Biblioteca
- Forum (?)
- Sistema de postagens;
- Sistema de Guilds;
- Ranking;
- Sistema VIP e de pagamentos;
- Formulário de contato;
- E mais, muito mais!

Quais ferramentas Tripeace usa? (útil para devs)

- C# .NET Core as como linguagem e framework back-end;
- HTML, CSS, Javascript/JQuery w Razor Syntaxe para front-end;
- Entity Framework Core como ORM (trabalhar com SQL em variáveis);
- NLOG para registrar atividades;
- Cloudscribe para paginações;
- AutoMapper para mapear e transferir objetos entre camadas;
- .NET Core Identity para criar sistema de login mais seguro e à parte ao do jogo.

Código fonte (Aberto, licença MIT)
GitHub - igorquintaes/Tripeace: An open-source and free Open Tibia Website written in C# .NET

Doações

O projeto é grande, totalmente código aberto, e quem tá fazendo é um cara desempregado. Se você está curtindo o andamento das coisas, dê uma contribuição aí!
Meu PayPal: striteralfa@gmail.com

DarkWoreD
04 de agosto de 2017 às 23:28

Obrigado por compartilhar o Xtibia Agradece.

1 mês depois...
MUNlZM
04 de setembro de 2017 às 21:21

Muito bom =D, vamos mostrar ai pessoal o poder do .NET mano kk, ótima iniciativa, sempre tive vontade de desenvolver um em .net mas achar tempo é foda, se quiser me add como contribuidor posso tentar ajudar de vez em quando o/ https://github.com/Mun1z

StriterAlfaS
06 de setembro de 2017 às 11:32
Em 04/09/2017 at 21:21, MUNlZ disse:

Muito bom =D, vamos mostrar ai pessoal o poder do .NET mano kk, ótima iniciativa, sempre tive vontade de desenvolver um em .net mas achar tempo é foda, se quiser me add como contribuidor posso tentar ajudar de vez em quando o/ https://github.com/Mun1z

Consegui um emprego fixo e estou trabalhando em paralelo com um freela bem tenso, então estou um pouco enrolado no momento. Assim que eu tiver um pouco mais de tempo, vou terminar o back da aplicação e dar uma ajeitada na arquitetura do projeto. Mas valeu aí, se quiser contribuir com algo sem se comprometer é só mandar um pull request :D 

2 semanas depois...
saviomuS
17 de setembro de 2017 às 19:42

Eu estava começando a fazer algo nesse sentido em .net core 2.0, esta usando qual versão do .net framework?

2 meses depois...
StriterAlfaS
24 de novembro de 2017 às 19:06
Em 17/09/2017 at 19:42, saviomu disse:

Eu estava começando a fazer algo nesse sentido em .net core 2.0, esta usando qual versão do .net framework?

Foi utilizado .NET Core 1.1 porque era a versão mais recente quando comecei a trabalhar no projeto, mas será atualizado para o 2.0 assim que eu tiver um tempo disponível - A arquitetura também será alterada de modo a evitar tornar mais reutilizável o código e mais intuitivo a implementação de novas funcionalidades. Por questões profissionais e pessoais, não disponho de tempo para atualizar o projeto no momento.

1 mês depois...
MUNlZM
21 de dezembro de 2017 às 11:31
Em 06/09/2017 at 11:32, StriterAlfa disse:

Consegui um emprego fixo e estou trabalhando em paralelo com um freela bem tenso, então estou um pouco enrolado no momento. Assim que eu tiver um pouco mais de tempo, vou terminar o back da aplicação e dar uma ajeitada na arquitetura do projeto. Mas valeu aí, se quiser contribuir com algo sem se comprometer é só mandar um pull request :D 

Estou na mesma situação kkk, mas vou ficar de ferias essa semana da trabalho, ai na próxima dou uns pull request lá, desenvolvo muito em ddd posso dar uma força na arquitetura tbm o/