Skip to content

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

License

Notifications You must be signed in to change notification settings

yashlm/IITK-Mail-Client

 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 87.1%
  • C++ 6.0%
  • CMake 4.6%
  • Swift 0.7%
  • Ruby 0.7%
  • HTML 0.4%
  • Other 0.5%