GO LANG
Overall my achievements are:
I have over 2+ years of experience with GO Lang and have been involved in building various complex projects such as large ecommerce systems and etc.Experience with main packages:
- GIN & Fiber Framework
- CompileDaemon
- Go + Mongo DB | PostgreSQL - GORM ORM | gRPC | JWT | Kafka
- Go Templates
- Go Playground (for validation)
- Testify - Unit Testing
Review the code
Go Kafka Microservices
The Go Kafka Microservices project is a distributed, asynchronous messaging system built using Go and Apache Kafka. This project demonstrates a microservices architecture, where separate services interact with each other through Kafka message queues, ensuring reliable and decoupled communication.
Key Features: Decoupled Microservices, Asynchronous Processing, Scalable Design, Docker Integration, Go Concurrency
Key Features: Decoupled Microservices, Asynchronous Processing, Scalable Design, Docker Integration, Go Concurrency
Review the code
CRUD Product API with JWT
This is a GO based API for products. Inside you can find categories, products and users. Categories and products are public and you can access them, but for the users you have to create account with jwt token and then you will be able to access any user, otherwise they are locked. Goroutines are included.
Review the code
Restaurant Management System with GO
This is a slightly more complex project, with an intermediate level of complexity. It involves a restaurant order management system. The components include tables, orders, types of food items that are ordered, payment processing, issuing of receipts, as well as user authentication (JWT). Users can observe orders and manage the application but cannot place orders themselves. The file architecture follows standard conventions, making it easy to navigate. Most of the developed functions are centered around serving the process of taking an order from a restaurant table, identifying what's been ordered, prices, etc. One of the most intricate aspects of this project is the query I've constructed in the controllers/orderItemController. I've written similar queries for MySQL in the past. For authentication, I've utilized JWT, as I've mentioned, and the relevant files for this are in the helpers directory.
Review the code
E-commerce System with GO
This is an interesting ecommerce project, mid level, that I have done. I integrated the cart to be on the server. Basically, this is a good practice if we want to have no data loss during an order for one reason or another. The project has a standard file architecture. The app has the standard functions for it`s category( registration, login, ProductViewerAdmin, SearchProduct, BuyFromCart, InstantBuy, AddAddress, EditAddress, AddProductToCart, RemoveCartItem, etc. ) It also has Authentication middleware, so you can only view your products. Standard normal f-ns for this type of projects. Since I've been developing it gradually and haven't tested everything at the end, (I'm just making a module and testing), I might have small problems here and there, some gaps. I need to fully test it one soon... The hardest thing for me in this project was the query I made with Mongo Aggregation Operations in database/cart.go -BuyItemFromCart
Review the code
gRPC with GO
This application is quite interesting. I'm developing a job listing platform in my spare time using gRPC (a modern open-source high-performance Remote Procedure Call) instead of the traditional REST API approach. It's been proven to be 7 times faster than REST API. In this case, I retrieve job listings from the database and display them in the browser using GO templates. I have both client-side and server-side sections/folders, and I'm utilizing Protocol Buffers (proto3) which is a language to structure protocol buffer data. This includes defining the syntax in .proto files and generating data access classes from these files. Most of the functions are working as I'm in the process of development, so not everything works just yet. However, I'll be completing the project very soon.
Review the code
Blockchain with GO
This application is a type of private blockchain that I'm developing. In this specific case, I've currently laid down the foundations, and everything is functioning well. I plan to further develop and expand it in the near future. For now, everything is written in a single file, main.go, which I understand might not be the best file architecture. However, I'll be working on improving this soon. The working algorithm is quite interesting, resembling a linked list data structure.
Review the code
Chat App with GO
This is a basic chat application for communication, where users enter a virtual room and communicate with participants. Nothing complicated. I'm using sockets for this purpose.
Review the code
A Book API (Fiber / PostgreSQL - Local / GORM)
This is a small basic CRUD model application for a books. The highlight in this case is the use of GORM ORM / PostgreSQL and some unit testing with testify.
Review the code
Blog with posts (Gin / PostgreSQL - As a Service / GORM)
This is a small basic CRUD model application for a blog with posts. The highlight in this case is the use of GORM ORM and PostgreSQL.