Skip to content
 
 

Repository files navigation

BluMail

Table of Contents

Introduction

This Email Client is a powerful and user-friendly email application developed using Python, Flask, and SQLAlchemy. It provides a seamless communication experience, allowing users to create accounts and send emails or messages to other users.

With this Email Client, you can stay connected for both personal and professional use. For it offers a range of features to enhance email communication by ensuring efficiency and convenience.

Key Features

  • User-Friendly Interface: A polished an intuitive interface that makes navigating and managing emails and messages easy
  • Account Creation: Simple steps to create an account to access all the functionalities and benefits of the email client
  • Compose and Send Emails: Compose and send emails to individuals with ease
  • Attachments: Can attach documents or images to your emails
  • Inbox Management: Find any email through a search bar or filter emails by read/unread
  • Todo List: Manage your tasks effectively with a built-in todo list feature, allowing more organization and productivity
  • Chat Feature: Along with an email system, you can stay connected with others through a chat system

Developers

  • Jeffrey Lam (@klam20)
  • Bryant Bautista (@bryantbautista)
  • Anthony Nguyen (@antiscoder)
  • Nicole Nacua (@nnacua)

Installation and Setup

USING LINUX TERMINAL " > " denotes a Linux command

Install Python 3 and PIP      > sudo apt update
     > sudo apt install python3
     > sudo apt install python3-pip
Setting up virtualenv      > pip install virtualenv
     Create and enter into a directory which you want the virtual environment to be in
     Create the environment using > virtualenv [choose a name here for your virtualenv]
     Activate the environment using > source [name of virtualenv]/bin/activate
     If you want to deactivate the environment use > deactivate
Clone the repository      Create a directory that you want to clone the repository into
     Inside the directory run > git clone https://github.com/klam20/CMPE131-EmailClient.git
Install required dependencies within virtualenv      Change directory to the cloned directory CMPE131-EmailClient
     Install libraries using > pip install -r requirements.txt
Using the application      Run the application using > python3 run.py
     Stop the application with CTRL + C

Libraries

Once you have followed the installation and setup process, you should see the list of libraries used in requirements.txt

List of Libraries Used
  • alembic
  • blinker
  • click
  • dnspython
  • email-validator
  • Flask
  • Flask-Login
  • Flask-Mail
  • Flask-Migrate
  • Flask-SQLAlchemy
  • Flask-Uploads
  • Flask-WTF
  • greenlet
  • idna
  • itsdangerous
  • Jinja2
  • Mako
  • MarkupSafe
  • Pillow
  • SQLAlchemy
  • typing_extensions
  • Werkzeug
  • WTForms
  • Requests

Functions

Account Management This section covers the various actions related to managing user accounts. Here are the instructions for each:

Registration (Nicole)

  • To register for an account, go to the home page and click the “Sign-up” button
  • Create an email address and password to complete registration
    Show example Screen Shot 2023-05-11 at 9 23 06 PM registration

Logging In (Jeffrey)

  • Once you have a registered account, use the login feature to access other functionalities.
  • Enter your registered email and password to log in
    Show example Screen Shot 2023-05-11 at 9 23 06 PM login

Logging Out (Jeffrey)

  • To log out, locate the "Log-out" button in the navigation bar and click on it
  • Logging out will terminate your current session
    Show example Screen Shot 2023-05-11 at 9 24 43 PM

Deleting Account (Jeffrey)

  • If you wish to delete your account, find the "Delete Account" button in the email page navigation bar
  • Click on the button to initiate the account deletion process
    Show example Screen Shot 2023-05-11 at 9 25 47 PM
Email Management This section provides instructions for managing emails within the application. Here are the instructions for each action:

Compose Button (Nicole)

  • Locate the compose button on the bottom right corner
  • Click on the compose button to create and send emails
    Show example Screen Shot 2023-05-11 at 9 26 13 PM

Filling out the Form (Nicole)

  • To send an email, provide the required information such as the recipient's email address, subject, and content
    Show example Screen Shot 2023-05-11 at 9 26 42 PM

Adding Attachments (Jeffrey)

  • To include attachments with the email, click on the attachment icon or look for an “Choose File” button
    Show example Screen Shot 2023-05-11 at 9 31 16 PM

Inbox and Viewing (Jeffrey)

  • The inbox provides separate viewing modes for sent and received emails
  • To view an email, click on it from the list in the inbox
  • Clicking on an email will allow you to view its contents, including the sender, subject, and message
    Show example Screen Shot 2023-05-11 at 9 32 27 PM Screen Shot 2023-05-11 at 9 34 08 PM

Search Bar (Bryant)

  • To search an email, first, click on the search bar
  • Then the user inputs text that they want search within their existing emails
  • Clicking the submit will prompt the system to search based on user input
  • Then, the user can click on "received" or "sent" to see emails that matched the input
    Show example

Deleting Emails (Jeffrey)

  • To delete an email, first, view its contents by clicking on it
  • Within the email view, locate the "Delete Email" button
  • Clicking the "Delete Email" button will remove the email from your view and potentially move it to a designated trash or deleted items folder
    Show example Screen Shot 2023-05-11 at 9 34 08 PM
Chat Management This section covers the management of chat messages within the application. Here are the instructions for each action:

Create Messages (Bryant)

  • By selecting the create message button, you can enter the user you want to message

  • You then select the conversation slot with the user’s email address

  • Type message in the input field and press send to see your message displayed in the chat window

    Show example Screen Shot 2023-05-11 at 9 35 14 PM Screen Shot 2023-05-11 at 9 35 18 PM Screen Shot 2023-05-11 at 9 35 18 PM Screen Shot 2023-05-11 at 9 35 18 PM

Add Reactions To Chat (Anthony)

  • By clicking on a received chat message, the user is able to react with certain emojis
    Show example Screen Shot 2023-05-11 at 9 35 14 PM Screen Shot 2023-05-11 at 9 35 18 PM

Delete Messages and Conversations (Bryant)

  • You are able to delete messages and will be no longer visible to the other participant
    Show example Screen Shot 2023-05-11 at 9 35 14 PM
To Do List Management This section covers the management of the To-Do List feature. Here are the instructions for each action:

Adding Items (Anthony)

  • On the left side of the email page, locate the dedicated section for the To-Do List
  • Fill out the task description and due date fields
  • Press the "+" button to add the task to the list
    Show example Screen Shot 2023-05-11 at 9 38 56 PM

Marking Off Items (Anthony)

  • To mark a task as done, simply click on the task in the list
  • The task will be visually indicated as completed
    Show example Screen Shot 2023-05-11 at 9 39 02 PM

Deleting items (Anthony)

  • Each task in the list will have an "x" button next to it
  • Clicking the "x" button will delete the corresponding task from the list
    Show example Screen Shot 2023-05-11 at 9 38 56 PM

Editing Items (Anthony)

  • Next to each task in the list, there is an edit button.
  • Clicking the edit button will activate the task's edit mode.
  • In edit mode, you can modify the task's description and due date.
  • To save the changes, click the edit button again, and the task will exit edit mode.
    Show example Screen Shot 2023-05-11 at 9 38 56 PM

About

Email Client for CMPE 131 course

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages