/Full-stack-Email

A Full Stack Mail Service

Primary LanguagePython

A Full Stack Mail Service

This project is a full-stack email application that allows users to send, receive, and manage emails. The application consists of a front-end user interface, a back-end server, and a database to store email data. The project aims to provide a seamless email experience, similar to popular email services like Gmail or Outlook.

Screenshots

the Front-end :

inspired by this design found it in dribble ( @asaldesign ) dribble

Database Schema :

You can access it via DrawSQL

App Screenshot

Tech Stack

  • Front-End : HTML, CSS, JavaScript
  • Back-End: Django, Django REST framework
  • Database: Sqlite3 for simplicity, you can use any another relational database
  • Authentication: JWT (JSON Web Tokens)

Features

Front-end :

  • User Authentication : Users can sign up, log in, and reset their passwords securely.
  • Dashboard : A user-friendly dashboard displaying the user's inbox, sent items, Trash, and archived emails.
  • Compose Email : Users can compose and send new emails to one or multiple recipients.
  • Email Viewing : Clicking on an email in the inbox or other folders opens the email for viewing.
  • Search Functionality : Users can search their emails based on various criteria, such as sender, subject, or date.
  • Folders : Users can organize emails into folders they create like work , personal ...

Back-End :

  • User Data: Store user profiles, including username, password hashes, and profile details.
  • Emails: Store email metadata (sender, receiver, subject, date) and email content.
  • Folders: Create a schema to organize emails into folders.
  • Security: Implement some security measures to protect user data and prevent unauthorized access.