Category Ecommerce

New project: ecommerce
3 min read

I’m excited to share with you my new project - an open-source e-commerce platform. The frontend is built with ReactJS and the backend is written in Go.

Project Goals

The goal of this project is to:

  • Continuously improve and develop the platform.
  • Provide an opportunity for less experienced programmers to gain experience working on a real project.
  • Experiment with various methodologies and tools that may not be available in other work settings (event-driven architecture, DDD, event sourcing, and more).
  • Build an application from scratch, including the entire ecosystem (frontend, backend, database, infrastructure, monitoring, observability).

Good Development Practices

Additionally, I strive to follow best practices in software development, such as writing Architecture Decision Records (ADRs) and thorough documentation. I believe that these practices help ensure the long-term success of the project and facilitate collaboration among contributors.

Password policies
2 min read

One of tasks I was working on recently is related to password policies. Of course, everything is configurable in code right now. In this note I want to tell you about some my decisions and how I got to them.

My first idea was creating an interface that any policy will have to satisfy.

type PasswordPolicy interface {
    Verify(pass string) error
}

That make sense, doesn’t it? When I was working on specific policy implementation I had a feeling that the type doesn’t have to be an interface. A regular function should be enough. I rewroted it into fuctions then.