Giter Site home page Giter Site logo

pclubiitk / iitk-mail-client Goto Github PK

View Code? Open in Web Editor NEW
2.0 10.0 15.0 709 KB

Developing a Mail Client for the IITK Campus Community that would be available across various platforms including Android, iOS, Windows, Web, Linux and Mac

Dart 88.14% Kotlin 0.03% Ruby 0.61% Swift 0.64% Objective-C 0.01% CMake 4.24% C++ 5.49% C 0.31% HTML 0.40% Java 0.15%

iitk-mail-client's Introduction

Logo IITK MAIL CLIENT

Welcome to our Project which we have built a mail client service which allows you to send mail through SMTP service and receive them through IMAP service using enough_mail api. and we have done this in flutter and backend is written in dart.

Why Flutter?

Flutter is an open-source UI software development kit created by Google. It is used to build applications for mobile, web, and desktop from a single codebase. Flutter apps are written in Dart, a language optimized for fast apps on any platform.

Reasons for using flutter

  • Flutter allows the creation of apps for Android, iOS, Web, Linux, macOS and Windows from a single codebase.
  • It allows the developers to see the result of code change almost instantly without restarting the app.
  • Google provides extensive and detailed documentation, tutorials, and sample projects, making it easier for developers to learn and master Flutter.
  • Excellent support in popular IDEs like Android Studio, and Visual Studio Code, with tools for debugging, profiling, and more.

Why Dart?

Dart is a programming language developed by Google. It was designed with the goal of being easy to learn, fast in execution, and capable of creating high-performance applications for a variety of platforms.

Reasons for using dart

  • Compilation and hot reload: Dart supports to being compiled both AOT(ahead of time) and JIT(just in time) . Dart's JIT compilation enables Flutter's famous Hot Reload feature.
  • Platform Support: Dart supports compilation to native machine code, which is essential for mobile development. It also compiles to JavaScript for web applications, making it versatile - across different platforms.
  • Dart provides robust support for asynchronous programming.

Features

There are three major features we have implemented up till now-

  1. Authentication- Securely authenticate users using enough_mail package to provide secure and robust authentication for users
  2. Sending Mails- Compose and send emails, including the ability to add recipients.
  3. Fetching Mails- Retrieve and display emails from the server, allowing users to view their inbox and read individual messages.

Installation

1. Clone the repository

git clone

2. Resolving dependencies

flutter pub get

3. Choose and run the emulator of your choice

You can check the available emulators and devices by pressing ctrl+shift+P on windows and cmd+shift+P on mac and then select your device. To run on your own Phone you will first need to enable developers options and USB Debugging then connect your phone with USB cable. You will be able to see your phone in the list of available devices as well as you press the above commands.

4. Running the Application

Press fn+f5 to run or execute flutter run on terminal

Note: Please refer to video for complete demonstration

Demo_Video

iitk-mail-client's People

Contributors

bmerchant22 avatar code-timely avatar krishjain256 avatar yashlm avatar adarshraj241408 avatar prabhakarraj0328 avatar medhaa09 avatar piyushsingal3 avatar mantraj23 avatar karankk-05 avatar abhimanyu-dev avatar shaurya244 avatar akshatgupta15 avatar

Stargazers

 avatar  avatar

Watchers

Lucian avatar Adarsh J avatar Mridul Verma avatar Ankush Sachdeva avatar Shivanshu Agrawal avatar Pallav Agarwal avatar  avatar Kunal Kapila avatar Ayush Bansal avatar  avatar

iitk-mail-client's Issues

UI on Desktop

We need to have a conditional rendering based on the screen size, majorly in the email list page. It looks good on the phone, but on desktop, we need quite different UI. You can take inspiration from gmail for the same.

HTML mail not visible in incoming emails

device - android
HTML content emails generally from corporate mails or newsletters are not rendering correctly. Instead of displaying the formatted HTML content it either shows plain HTML or nothing at all, making it difficult to interact with the content as intended.

Expected Behaviour - HTML content should be displayed with proper formatting automatically or have an option to show HTML content on demand as on webmail.

Recipient issue in compose email page

recipients.mp4

When sending mail, to add recipients, we need to press enter key, to have a better UX, you can have something like this as shown in the video, if the address is not in your address book, display "add recipient", and if it is in the address book, display the suggestion

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.