- move computer mouse to right side to challenge the brain :)
- implement chat functionality using websockets, no tests at first
- basic rendering tests for ui
- setup docker-compose
- use fiber auth middleware https://docs.gofiber.io/api/middleware/basicauth
- add auth https://medium.com/@abhinavv.singh/a-comprehensive-guide-to-authentication-and-authorization-in-go-golang-6f783b4cea18
- use JWT tokens
- read through Effective go https://go.dev/doc/effective_go#semicolons
- write a signup in tdd fashion
- use tdd, coverage to >90%
- add cache (e.g. redis)
- add pubsub/message queue of some kind
- auth with permissions roles (user, admin, chat admin)
- setup swagger https://docs.gofiber.io/contrib/swagger_v1.x.x/swagger/
- try https://github.com/go-gorm/gen
- use protobufs
- setup monkey testing
- try BDD
- setup ci/cd
- use all features of gorm
- use all features of fiber
- setup automatic backup for database and images
- use db hooks for something
- add chatgpt integration as bot
- learn to use os, os/exec, io, bytes libs
- learn to use tags
- use goroutines somewhere
- play around and debug internaly of fiber, gorm, docker etc
- use github copilot free trial
- use factories for tests. is it useful in golang? https://github.com/bluele/factory-go
- setting up db for tests - setup, teardown - in other projects
- setup database migrations
- try https://github.com/sqlc-dev/sqlc and maybe benchmark
- write raw SQL query
- review templates e.g https://github.com/create-go-app/fiber-go-template/tree/master and others
- try supabase
- add payments
- implement rate limiting and maybe some more features from distributed applications :)
- try planetscale database
- structure logging https://pkg.go.dev/golang.org/x/exp/slog
- setup sentry or some other monitoring
- try rpc, grpc, webrtc
- setup linter for function length and code complexity
- setup load testing https://github.com/tsenart/vegeta
- add api versioning
- try out many of fiber middlewares
- setup vscode's dev containers
- improve knowledge of Makefile, bash scripting
- setup linter for function length and code complexity
- try using https://github.com/KillianLucas/open-interpreter/
- can be interesting to add messaging library as alternative for manually implemented one https://github.com/centrifugal/centrifugo?tab=readme-ov-file
- setup tls
- find mockup to html tool e.g. https://github.com/SawyerHood/draw-a-ui
- learn vscode shortcuts i don't use from https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
- deploy some ML model using Go
- try htmx
- write a few tests using mocks with https://pkg.go.dev/github.com/stretchr/testify/mock
- use git worktrees
- use features of postgres - full text search, indexing, explain, read about server administration, hstore, pg_cron
- how to work with timezones?
- setup localization
- deploy to url
- created dev and prod environments on aws under different accounts
-
Notifications
You must be signed in to change notification settings - Fork 0
valeriikundas/gochatapp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
chat app in golang for learning & experimentation purposes