Furfil

A marketplace for pet services

Visit Website
January 28, 2024 Devlog 3x0

I didn't think I would work on this but found some idle time. I integrated validation as an interceptor on gRPC so now I can do some pre-validation? on the incoming data before hitting my handlers.

I fixed my create user and pet endpoints. I added a sessions table as a basic auth strategy.

Next going to work on the logging service.

Comment

January 26, 2024 Devlog 2x1

I got the basic auth with PASETO v4 implemented.

I wanted to see if I can validate gRPC messages before it hits my service and went down a rabbit hole. I tried implemented an outdated go-proto-validators package and couldn't get that to work. Then I stumbled upon buf.build which looks promising. So I ripped out all the generated pb and gRPC gateway and implemented buf and connectRPC in my app. So far it seems to be working fine after a few hours of trial and errors.

Later tried testing my API and got some failures from my db that I'll investigate later. Didn't get a chance to implement a logging service, however, I started to add some tests.

Anyways, it's the weekend! Progress will have to wait.

Comment

January 26, 2024 Devlog 2x0

Today, I'm going to implement basic auth using PASETO and adding validation to all my existing services.

After that, I want to implement a logging service to see network traffic and errors.

Once that's in place, I'm going to document both gRPC and http requests in a Postman Collection for testing.

A bonus goal would be to add testing for each layer of the application.

2 Comments

  1. 1

    Look forward to your product launch

    1. 1

      Thank you!

      I don't know a thing about launching a product but should be a really fun and challenging exercise.

January 25, 2024 Devlog 1x1

Successfully implemented Postgres and added migration files. Add some more tables and updated previous schemas. It took me some time because of design choices that will probably change in the future.

Didn't have a chance to implement Auth. I think that would be a good idea for tomorrow since I can also add validation to the services.

2 Comments

  1. 1

    Great product idea ! Curious how you will implement Auth. I used Firebase and I was mildly happy about it. Found the other solutions, such as Okta, as a bit expensive.

    1. 1

      Thank you!

      I'm thinking about implementing a simple basic auth with email and password for internal testing. Keep it light-weight until I'm ready for an auth provider. I really, really want to try out passkeys since all the things I've been reading about it have been positive.

January 25, 2024 Devlog 1x0

Today I plan to integrate Postgres to my backend services and modify the existing schemas to support my idea.

I'll probably start off with something simple like Store, User, Pet, Media and see what goes from there.

I think if I can get it done within a few hours, I might have time to integrate an Auth service.

Comment

January 24, 2024 Devlog 0x1

Part 2 of Devlog 0:

I finish standing up a basic backend gRPC service for creating users and pets but haven't connected it to Postgres.

Some challenges I've encountered is deciding if I want to go with a monolith or microservices architecture. And then that spiraled into reading about setting up a Go monorepos and Git submodules.

1 Comment

  1. 1

    Hey Billy Le,

    I totally get the challenge of finding quality care for my dog Lincoln, and I appreciate that you’re working to make it easier!

    Have you decided whether to go with a microservices architecture or a monolith for your project? I’m curious about what factors influenced your decision. Personally, I’m leaning towards microservices because I value flexibility and the ability to quickly iterate on designs.

    Looking forward to hearing your thoughts,

    Zach Benson

January 24, 2024 Devlog 0x0

Today is the day I start working on Furfil. I plan to work on the back-end first which will be written in Golang. I don't have any experience in Golang so this will serve as good practice for me.

Some things I want to complete today is:
Initial Database design
User Service
Pet Service

Comment

About

Owning pets can be hard when looking for good service providers in my area. Especially when taking vacation where Facebook is the only place to find a sitter. This side project also exists to practice new skills.