You are browsing as a guest. Sign up (or log in) to start making projects!

poyo

@poyo

Joined June 1st, 2026

  • 4Devlogs
  • 2Projects
  • 0Ships
  • 0Votes
Banana!
Working on a git forge: Farga
Open comments for this post

20h 8m 39s logged

REPOS ARE NOW EDITABLE AND BROWSABLE

finally

You can pull, clone and push repos, with proper SSH authentication! It works fine.

You can access a repo from the web view at /@user/repo-name, which will show you the root of the git repo, and its README (if detected.)

You can also visit directories and read files inside each dir.

The layout miiiiiight change, but it’s pretty good as-is.

Repo creation has been updated too! Now it doesn’t generate a branch by default.

You cannot imagine how happy I was when I finally got everything working :3 😭 :prayge:
The git library’s documentation was awful and it took me three full iterations to get it working.

0
0
4
Open comments for this post

23h 26m 18s logged

Repos, Configuration, SSH keys… they work!

It took a long while because

  1. Go(lang)
  2. I might have been pretty slow :P

I implemented a couple things: repos, configuration, and I’ve began writing the SSH server.

When you create a repo, an actual git repo is also created on the filesystem. Since this project is meant to be used by just me, I don’t need anything fancier or more performant. I made it so you can make them private too.

Configuration options were also relatively easy to implement. All I did was take advantage of my form validation middleware. Updating the DB schema was trivial. You can upload SSH keys now too-

Imagine how I felt after 2 hours of debugging failed repo creation and then realizing: shit, I didn’t pass a pointer to the database function, didn’t I

See ya,
Deuces

0
0
4
Open comments for this post

10h 2m 53s logged

I made a whole lot of progress: I setup the template engine, cool asf styles, registration and logging in!!
It took me a while because I’m not fluent in Go(lang). However, I’m very glad it worked out great! I also had to implement a wrapper around Go’s crypto/argon lib, since it wouldn’t give me a nice format to store password hashes in.
I’m using UUID v7s for the sessions because I love UUIDs, really. + it’s not as sensitive as a numeric ID.
I’m glad I got it working! Now I’ll write some authentication middleware.
A friend of mine helped me choose the color palette, and I’m very fond of it.

0
0
4
Open comments for this post

3h 20m 6s logged

Setting up the Go(lang) project!
(it’s my first time learning go and templates were kinda confusing)

0
0
11

Followers

Loading…