Skip to content

mesmur/fixed-term-track-web-server

Repository files navigation

Fixed Term Track - Web Server

Go Version License Go Report Card

Last Commit

Issues Pull Requests Pull Requests

Status

  • Development, In Progress (In Progress | Maintaining | Archived)

Description

FYI: This is my first time writing go code in a 'realistic' project so - don't hate ;)

Fixed Term Track was built to help me track my Fixed Term investments (not that I have a lot of them ha.)

It would help me aggregate these term investments and track their maturity dates, giving me a heads-up on any upcoming maturities / return dates.

At the moment though, this is a work in progress, and I'm still figuring out the best way to structure the data and the application.

Aaaand how to interface with it, although I'm just leaning towards a mobile app to get some practice >:)

Features

  • Creating a record of investment
  • Creating a record of investment returns
  • Retrieving metrics on investments and associated returns
  • Auto-scheduling reminders for upcoming returns through telegram (so you don't forget to check ;>)
  • Validations on input data
  • Error handling
  • Docker Image for deployment
  • Comprehensive Testing
    • Unit Tests
    • Integration Tests
  • Documentation
    • GoDoc (?)
    • Openapi Specification for APIs

Technologies Used

Language

Golang

Technologies

Tools and Libraries

Developing

Prerequisites:

  • Go 1.22
  • The tools listed above under Development (mise is optional)
  • A telegram bot token and your chat ID in the .env file

Do the below:

go mod download # Get the dependencies
go mod verify # Verify the dependencies
cp .env.example .env # Copy the example env file, make sure to get your telegram bot token!
just dev # Starts the server

Examples

Check the examples directory for examples on setting up the server.

  1. running-server-with-compose
    1. There's an example of a compose file that runs the server with a postgres instance, it pulls the latest image from dockerhub
    2. The .env is slightly different (since it connects to postgres on the internal network), and the telegram credentials are required

Contributing

Feel free to fork and raise a PR if you're interested in contributing to this project :)

You can create an issue to raise any bugs or have a suggestion.

If you do use this project as a reference, let me know! I'd love to hear about it.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published