CubeMail is a webmail client built using React and Chakra UI, It runs in the browser and uses the Gmail's public Javascript API.
Overview
CubeMail is a webmail-client built using Create-React-App and Chakra UI. It runs completely in the browser and uses Gmail’s public Javascript API. CubeMail allows users to sign in to their Gmail accounts and view and manage their emails directly in the application. It does not store any user data and simply fetches data from Gmail’s API and displays it in the browser.
Features
- Read, Send, Reply, Forward, Trash, and Archive Messages: Users can perform basic email actions such as reading, sending, replying, forwarding, trashing, and archiving messages.
- Search Feature: CubeMail includes a search feature that allows users to search for specific emails based on various criteria.
- Display User’s Labels: This feature allows users to view the labels associated with their emails, providing an organized way to manage and categorize their messages.
- Animation on Buttons: CubeMail includes animation on buttons to enhance the user experience and provide visual feedback.
- Infinite Scrolling: The application implements infinite scrolling, allowing users to easily navigate through their emails without having to manually load additional messages.
- Error Handling on Login or Connection Issues: CubeMail includes error handling to handle any login or connection issues that may occur.
- Switch to Redux instead of Context API: This feature allows for the transition from using the Context API for state management to using Redux, providing a more robust and scalable solution.
Installation
To install CubeMail, follow the steps below:
- Clone this repository.
- Create a
.env file from the .env.example file provided. - Add your Google API credentials (API Key and OAuth 2.0 Client ID) to the
.env file. - Enable the Gmail API by enabling Google APIs in your Google Cloud Console.
- Run the command
$ npm start to start the application. - Open
http://localhost:3000 in your browser to access CubeMail.
Summary
CubeMail is a webmail-client built using Create-React-App and Chakra UI. It allows users to sign in to their Gmail accounts and view and manage their emails directly in the application. CubeMail leverages Gmail’s public Javascript API to fetch data from the user’s Gmail account and display it in the browser. The application includes features such as basic email actions, search functionality, label display, button animations, infinite scrolling, and error handling. CubeMail is easy to install and provides a convenient and secure way to access Gmail emails directly in the browser.