App GIF (v0.2.0-Alpha): https://imgur.com/LGWmkLP Project Repo: https://github.com/dev-vaayen/Gmail-TUI/tree/main SMTP-Protocol in Golang: https://www.geeksforgeeks.org/sending-email-using-smtp-in-go...
The Idea Behind This App
Just a few days after I had installed Ubuntu, I lost the access to the GUI due to a failed and interrupted update. This led to me being forced to use the TTY-environment (started using the ctrl+alt+fkeys combination) and ending up feeling helpless for a long time as I had never used even the most basic Linux commands.
Months later, this experience led me to look into TUI or Terminal based User Interfaces, which run on Terminals and are like lighter versions of GUIs. This is where the idea of creating my own TUI-Application for Gmail came into mind as I was unable find one that could fit my use-case.
Expected Functionalities
To complete this lack of TUI-Application, I would like the Gmail-TUI to borderline replicate the web-version of Gmail, allowing users to perform most of the core tasks by providing following features/functionalities in it:
-> [DONE] A login page for entering email-ID and password
-> [DONE] Composing and sending mails
-> [WIP] Listing received emails with email-IDs in the Inbox
-> [WIP] Opening the content of the received mail after clicking it
-> [WIP] Viewing sent email in Sent-Box
-> [DONE] Area to choose from the Compose, Inbox, Drafts, Sent buttons
For sending composed mails and validating login, I am using SMTP-Protocol. The logic for validating login is:
> If a login alert email can be sent to the same email address entered in the Email-ID and Password fields, the user will be considered logged in and allowed to access the app dashboard. The dashboard includes options for composing emails (and checking the inbox, drafts, starred mails, etc. in future)
Networking is a new concept to me and I am still working on properly understanding the IMAP-Protocol for implementing the Inbox-feature and will be adding it along with a support for allowing the user to send a well formatted email with attachments using this app.
I know this isn't a finished project and there are lots of features that are still lacking but still, please provide your feedbacks, opinions or any constructive criticism that may have come in your mind while reading this.
Is there anything wrong with my approach or the direction that I can be taking? Please share your honest thoughts, all will be really appreciated.