COMP 4911 – Development Model – Go Client
Hello! For my final project, I’m working with a privacy-focused company.
Background
Many of the company’s projects are written primarily in Rust. They also use the Go programming language for many things, in particular for the software’s CLI, the command-line interface that developers can use to interact with the software.
The team I am working with has been working on software that allows them to create a server that stores a list of immutable operations such as adding users that others know they can trust, managing users, groups, and other things. This software is written in Go, as is the CLI, but the client that is able to interact with it is written in Rust. They needed a client written in Go that is able to act as an interface between the CLI and the server. That is the essence of this project, and what I will be working on.
Technology
Gitlab and Git – For version control
Obsidian and Google Docs – For planning and project deliverable creation
Zed – The IDE that I use. It has native Rust, and more importantly for this project, Go support.
Jira – Used for Agile sprint planning
Go – The primary programming language used for the project.
Developmental Model
The company I am working with uses an Agile process, where the work is broken down into various work Epics and issues, and assigned in sprints. Every 2 weeks they have a sprint planning meeting, in which they will be planning the next 2 week’s issues to be worked on, finished, and ideally reviews and merged in that time frame.
Planning => Development => Testing => Code Review => Completion