Stats

3
Projects
32
Devlogs
29
Votes
2
Ships

Coding Time

All Time: 91h 25m
Today: 0h 0m

Member Since

June 20, 2025

Badges

1
🚢
Maiden Voyage
you shipped your first project! the journey begins...

Projects

3
CLI todo list
3 devlogs 19 days ago
Online chess game via the terminal.
21 devlogs 3 months ago
Editor de texto escrito e go
8 devlogs 3 months ago

Activity

Earned sticker

Decided to turn this into its own project, a task manager via cli

Update attachment

Things learned

  • Crates, Packages and Modules
Update attachment

First devlog

I dedicated it to creating a CLI to-do list.

Things learned

  • Variables and data types.
  • Functions, control flows.
  • Ownership and language specifications
  • Structs and Enums.
Update attachment
Henrique
Henrique created a project
19d ago

CLI todo list

A CLI-based task management tool. Built using RUST as a research project.

CLI todo list
3 devlogs 0 followers
Luckmuc
Luckmuc Shipwright gave you feedback
25d ago

Online chess game via the terminal.

Please translate your README.md to english so everyone can understand how to play the game, main part works but moving figures is a bit hard

from Luckmuc

Finally, v1.2
First official version of the game.

Update attachment

Create all the end-of-game logic. Specific cases like forfeit and timeouts, and configure how the client responds to them.

Update attachment

I created a header in the player interface so the player can see their opponent and their time. I also created an inverted board view for the black player.

I separated some functionality from the Run() function; it performed many tasks.

Update attachment

I improved the client interface. I developed a board and panel rendering using the tcell package. I also fixed some bugs in the Start() function.

Update attachment

Well, I decided to rewrite the entire project. Why? Reviewing it, I noticed many points I didn't understand and some workarounds. I felt like chatgpt had done almost all the work, which bothered me. So, I decided to rewrite the project from scratch, changing a few things without chatgpt's help, using ideas from the old version as a base and also new ones.

https://github.com/jhenriquem/chess-game/tree/rebuilding

Update attachment

I changed the way the board was rendered. I added colors and a table-like rendering. I also built the logic for player names. It took me a while to figure out how the lipgloss and bubbles packages worked.

Update attachment

I implemented the timing logic for each player. I'm focusing more on the server side, developing most of the features and creating a simple client implementation. However, I'll focus on improving the client UI later.

Update attachment

I fixed some errors related to naming and logic. I also created the handler package to handle messages and actions corresponding to each message type. At the same time, I separated some functions and organized them, such as logic.Moves.

I took the opportunity to start working on the timing logic.

Update attachment

I fixed numerous bugs, mainly when closing the connection when the client disconnects. The channel closing logic was confusing and incorrect. I also improved some logic, such as GetPlayer.

I made changes to the project structure; something like pkg and model are located at the root of the project.

I expanded the message the server sends to the client, a prelude to what comes next.

I also created some unit tests for the functions in the logic package; I will follow this principle from now on.

Update attachment

Update readme file

Update attachment

v0.1 release
A terminal-based text editor written in Go. A research project.

Update attachment

Fixed the error that was occurring when rendering the board for the black pieces. I also started the logic to check the resulting actions of the moves (check, checkmate).

Update attachment

As I expected, the bug occurred due to the notation used. Fix this. It also improves the structure of messages between the server and client and the screen rendering on the client. However, there is a bug in the connection, as the server sometimes claims a timeout on the client.

Update attachment

I separated the logic for sending and reading messages and created the net package to handle all functionality related to the game's connection.

I also created the basic game logic, allowing for the sending of moves and updating each player's board as the game progresses. However, I have a bug in the move validation, something related to the notation used in the game. I'll take a deeper look at the package documentation later.

Update attachment

I'm rewriting some things, creating new packages, improving the game's logic, separating code blocks and logic.

Update attachment

Fix the timeout bug between client and server. The client returns to the server timeout, which ended the connection. The error was in the if IsGame of ./client/core that defined the PingHandler several times, generating mismatch between teams. It took me a while to realize, good thing I also improved some things besides that.

Update attachment

I tried to create a logic for client communication with the server. However, it is a bit broken, there is some error in the client that generates a timeout. I will look into this later.

Update attachment

I separated the Game struct from the game package. Create a models package. It helped with the project's structure and readability. I had to adapt the rest of the code to this change.

I also made a small improvement to the rendering of the board in the client part.

Update attachment

💡 I went back to keeping the client and server in the same project. I decided this because of some details related to the hackclub. Also, there are many packages that would be repeated between the two.

📌 I improved and fixed the ping/pong logic. There was an error in this system that I hadn't noticed. It took a while to fix. And guess what? It was all because I was using a snippet generated by chatgpt, which was wrong 😭. Well, I looked at the websocket documentation and fixed it myself. Do it yourself 💪🏼

Update attachment

I decided to improve the disconnection logic between players and the server. When a player is disconnected, the other is notified and the game is closed.

Update attachment

I remade the general structure of the project. I separated the client from the server and created two different projects. For now, I will develop the server

Update attachment

I slightly restructured the project. I changed the concept of rooms for games, I believe it is better both for understanding the code and for the development of the project itself. I corrected some bad points in the , such as the creation of rooms (games) and the boad. I redid some sections. I also added the functionality that if the player disconnects, the other is notified.

Update attachment

Initial concepts.
Basic server structure and rudimentary logic of rooms and players. Also a simple client for testing. I'll probably rewrite some things. Some points of the project, for me, are botched, so I'll take a look at them later and rebuild them.

Update attachment
Henrique
Henrique created a project
90d ago

Online chess game via the terminal.

An online terminal chess game, written in go. You can connect with another player and play a game of chess. Why am I building this? I like chess and using the terminal.

Online chess game via the terminal.
21 devlogs 2 followers Shipped

Versão final.

Update attachment

Podemos salvar as alterações feitas em arquivos

Update attachment

Agora, ao gerar o executavel, pode-se abrir e ler arquivos. Caso tais
arquivos sejam modificados, o editor não poderá ser fechado, apenas se o
arquivo for salvo(essa funcionalidade ainda não existe) ou as modificações forem desfeitas.

Update attachment

Criação de uma statusbar superior, ela fica no canto superior direito. Mostra mensagens como: nome do arquivo, se foi modificado ou não e localização

Update attachment

Criação da função responsável pela tecla Delete.

Update attachment

Criei as funções responsáveis por realizar a quebra de linha (enter) e apagar o texto (backspace)

Update attachment
Henrique
Henrique created a project
98d ago

Editor de texto escrito e go

Um editor de texto minimalista, inspirado no Neovim, desenvolvido em Go e projetado para ser utilizado diretamente no terminal.

Editor de texto escrito e go
8 devlogs 0 followers Shipped
Henrique
Henrique joined Summer of Making
98d ago

This was widely regarded as a great move by everyone.