Skip to content

Commit cb24b68

Browse files
v1 release
0 parents  commit cb24b68

File tree

116 files changed

+4913
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+4913
-0
lines changed

.gitignore

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Miscellaneous
2+
*.class
3+
*.log
4+
*.pyc
5+
*.swp
6+
.DS_Store
7+
.atom/
8+
.buildlog/
9+
.history
10+
.svn/
11+
migrate_working_dir/
12+
13+
# IntelliJ related
14+
*.iml
15+
*.ipr
16+
*.iws
17+
.idea/
18+
19+
# The .vscode folder contains launch configuration and tasks you configure in
20+
# VS Code which you may wish to be included in version control, so this line
21+
# is commented out by default.
22+
#.vscode/
23+
24+
# Flutter/Dart/Pub related
25+
**/doc/api/
26+
**/ios/Flutter/.last_build_id
27+
.dart_tool/
28+
.flutter-plugins
29+
.flutter-plugins-dependencies
30+
.packages
31+
.pub-cache/
32+
.pub/
33+
/build/
34+
35+
# Symbolication related
36+
app.*.symbols
37+
38+
# Obfuscation related
39+
app.*.map.json
40+
41+
# Android Studio will place build artifacts here
42+
/android/app/debug
43+
/android/app/profile
44+
/android/app/release

.metadata

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# This file tracks properties of this Flutter project.
2+
# Used by Flutter tool to assess capabilities and perform upgrades etc.
3+
#
4+
# This file should be version controlled.
5+
6+
version:
7+
revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
8+
channel: stable
9+
10+
project_type: app
11+
12+
# Tracks metadata for the flutter migrate command
13+
migration:
14+
platforms:
15+
- platform: root
16+
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
17+
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
18+
- platform: android
19+
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
20+
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
21+
- platform: ios
22+
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
23+
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
24+
- platform: linux
25+
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
26+
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
27+
- platform: macos
28+
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
29+
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
30+
- platform: web
31+
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
32+
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
33+
- platform: windows
34+
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
35+
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
36+
37+
# User provided section
38+
39+
# List of Local paths (relative to this file) that should be
40+
# ignored by the migrate tool.
41+
#
42+
# Files that are not part of the templates will be ignored by default.
43+
unmanaged_files:
44+
- 'lib/main.dart'
45+
- 'ios/Runner.xcodeproj/project.pbxproj'

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Sarthak Kimtani
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# FlashMail
2+
3+
FlashMail is a Mobile application designed to provide users with a temporary email solution powered by the mail.tm platform. With FlashMail, users can receive and view emails conveniently while maintaining their privacy. The app utilizes Riverpod as its state management solution for efficient and organized data handling.
4+
5+
This repository contains the source code for FlashMail developed using the Flutter framework. The app is designed to provide various features and functionalities to enhance user experience. Below, you will find information about how to download the app, its features, dependencies, license, and more.
6+
7+
## Download
8+
9+
You can download the latest version of the app from the [GitHub Releases](https://github.com/sarthakkimtani/flash-mail/releases) page. Look for the most recent release and download the corresponding APK or installer file for your device.
10+
11+
## Requirements
12+
13+
- Any Operating System (ie. MacOS X, Linux, Windows)
14+
- Any IDE with Flutter SDK installed (ie. IntelliJ, Android Studio, VSCode, etc)
15+
- A little knowledge of Dart and Flutter
16+
17+
## Features
18+
19+
- Instantly create temporary email addresses to receive messages without revealing your personal email.
20+
- Enjoy a seamless user experience with an intuitive and user-friendly interface, making it easy to navigate through your emails effortlessly.
21+
- Access and download attachments with ease, allowing you to view and save important files directly from your emails.
22+
- Access and read your emails effortlessly with a seamless viewing experience.
23+
- Benefit from a compact APK size of just 22 MB, ensuring that FlashMail takes up minimal storage space on your device.
24+
25+
## Screenshots
26+
27+
<img src="screenshots/1.png" height="300em" /> <img src="screenshots/2.png" height="300em" /> <img src="screenshots/3.png" height="300em" />
28+
<img src="screenshots/4.png" height="300em" />
29+
30+
## Installation
31+
32+
To run the app locally and make modifications, follow these steps:
33+
34+
1. Ensure you have Flutter SDK installed on your machine. You can download it from the official Flutter website: https://flutter.dev.
35+
2. Clone this repository to your local machine using the following command:<br>
36+
```bash
37+
git clone https://github.com/sarthakkimtani/flash-mail.git
38+
```
39+
3. Navigate to the project directory:<br><br>
40+
```bash
41+
cd flash-mail
42+
```
43+
4. Fetch the app's dependencies by running the following command:<br>
44+
```bash
45+
flutter pub get
46+
```
47+
5. Connect your device or start an emulator.
48+
6. Run the app using the following command:<br>
49+
```bash
50+
flutter run
51+
```
52+
53+
## Dependencies
54+
55+
| Name | Usage |
56+
| ------------------------------------------------------------------------- | --------------------------- |
57+
| [**Auto Route**](https://pub.dev/packages/auto_route) | Navigation & Routing |
58+
| [**Dio**](https://pub.dev/packages/dio) | HTTP Requests |
59+
| [**External Path**](https://pub.dev/packages/external_path) | External Storage Path |
60+
| [**Flash**](https://pub.dev/packages/flash) | Alerts & Dialogs |
61+
| [**Flutter Downloader**](https://pub.dev/packages/flutter_downloader) | Download Files |
62+
| [**Flutter InAppWebView**](https://pub.dev/packages/flutter_inappwebview) | In-App WebView |
63+
| [**Flutter Riverpod**](https://pub.dev/packages/flutter_riverpod) | Global State Management |
64+
| [**Freezed**](https://pub.dev/packages/freezed) | Code Generation |
65+
| [**Hive**](https://pub.dev/packages/hive) | Local Database |
66+
| [**Intl**](https://pub.dev/packages/intl) | Internationalization |
67+
| [**Shimmer**](https://pub.dev/packages/shimmer) | Shimmer for Loading Screens |
68+
| [**URL Launcher**](https://pub.dev/packages/url_launcher) | URL Launcher |
69+
70+
## Contributing
71+
72+
Contributions to this app are welcome! If you find any issues or have ideas for improvements, please open an issue or submit a pull request. Make sure to follow the repository's guidelines for contributing.
73+
74+
## License
75+
76+
This app is distributed under the [MIT License](https://github.com/sarthakkimtani/flash-mail/blob/main/LICENSE). Feel free to modify and use it as per your requirements.
77+
78+
## Disclaimer
79+
80+
FlashMail is an independent project and is not affiliated with or endorsed by the mail.tm platform. Please review and comply with the terms of service of mail.tm when using this application.

analysis_options.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
include: package:flutter_lints/flutter.yaml
2+
3+
analyzer:
4+
exclude:
5+
- lib/data/models/*/*.g.dart
6+
- lib/data/models/*/*.freezed.dart
7+
8+
linter:
9+
rules:
10+
prefer_double_quotes: true

android/.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
gradle-wrapper.jar
2+
/.gradle
3+
/captures/
4+
/gradlew
5+
/gradlew.bat
6+
/local.properties
7+
GeneratedPluginRegistrant.java
8+
9+
# Remember to never publicly share your keystore.
10+
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11+
key.properties
12+
**/*.keystore
13+
**/*.jks

android/app/build.gradle

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
def localProperties = new Properties()
2+
def localPropertiesFile = rootProject.file('local.properties')
3+
if (localPropertiesFile.exists()) {
4+
localPropertiesFile.withReader('UTF-8') { reader ->
5+
localProperties.load(reader)
6+
}
7+
}
8+
9+
def flutterRoot = localProperties.getProperty('flutter.sdk')
10+
if (flutterRoot == null) {
11+
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12+
}
13+
14+
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15+
if (flutterVersionCode == null) {
16+
flutterVersionCode = '1'
17+
}
18+
19+
def flutterVersionName = localProperties.getProperty('flutter.versionName')
20+
if (flutterVersionName == null) {
21+
flutterVersionName = '1.0'
22+
}
23+
24+
apply plugin: 'com.android.application'
25+
apply plugin: 'kotlin-android'
26+
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27+
28+
def keystoreProperties = new Properties()
29+
def keystorePropertiesFile = rootProject.file('key.properties')
30+
if (keystorePropertiesFile.exists()) {
31+
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
32+
}
33+
34+
android {
35+
namespace "com.example.flash_mail"
36+
compileSdkVersion 34
37+
ndkVersion flutter.ndkVersion
38+
39+
compileOptions {
40+
sourceCompatibility JavaVersion.VERSION_1_8
41+
targetCompatibility JavaVersion.VERSION_1_8
42+
}
43+
44+
kotlinOptions {
45+
jvmTarget = '1.8'
46+
}
47+
48+
sourceSets {
49+
main.java.srcDirs += 'src/main/kotlin'
50+
}
51+
52+
defaultConfig {
53+
applicationId "com.app.flash_mail"
54+
minSdkVersion flutter.minSdkVersion
55+
targetSdkVersion flutter.targetSdkVersion
56+
versionCode flutterVersionCode.toInteger()
57+
versionName flutterVersionName
58+
59+
signingConfigs {
60+
release {
61+
keyAlias keystoreProperties['keyAlias']
62+
keyPassword keystoreProperties['keyPassword']
63+
storeFile file(keystoreProperties['storeFile'])
64+
storePassword keystoreProperties['storePassword']
65+
}
66+
}
67+
68+
buildTypes {
69+
release {
70+
signingConfig signingConfigs.release
71+
}
72+
}
73+
}
74+
75+
buildTypes {
76+
release {
77+
signingConfig signingConfigs.debug
78+
}
79+
}
80+
}
81+
82+
flutter {
83+
source '../..'
84+
}
85+
86+
dependencies {
87+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
88+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2+
<!-- The INTERNET permission is required for development. Specifically,
3+
the Flutter tool needs it to communicate with the running application
4+
to allow setting breakpoints, to provide hot reload, etc.
5+
-->
6+
<uses-permission android:name="android.permission.INTERNET"/>
7+
</manifest>
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2+
<application
3+
android:label="FlashMail"
4+
android:name="${applicationName}"
5+
android:icon="@mipmap/launcher_icon">
6+
<activity
7+
android:name=".MainActivity"
8+
android:exported="true"
9+
android:launchMode="singleTop"
10+
android:theme="@style/LaunchTheme"
11+
android:requestLegacyExternalStorage="true"
12+
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
13+
android:hardwareAccelerated="true"
14+
android:windowSoftInputMode="adjustResize">
15+
<meta-data
16+
android:name="io.flutter.embedding.android.NormalTheme"
17+
android:resource="@style/NormalTheme"
18+
/>
19+
<intent-filter>
20+
<action android:name="android.intent.action.MAIN"/>
21+
<category android:name="android.intent.category.LAUNCHER"/>
22+
</intent-filter>
23+
</activity>
24+
<meta-data
25+
android:name="flutterEmbedding"
26+
android:value="2" />
27+
<provider
28+
android:name="vn.hunghd.flutterdownloader.DownloadedFileProvider"
29+
android:authorities="${applicationId}.flutter_downloader.provider"
30+
android:exported="false"
31+
android:grantUriPermissions="true">
32+
<meta-data
33+
android:name="android.support.FILE_PROVIDER_PATHS"
34+
android:resource="@xml/provider_paths"/>
35+
</provider>
36+
</application>
37+
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
38+
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
39+
<uses-permission android:name="android.permission.INTERNET"/>
40+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
41+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
42+
<queries>
43+
<intent>
44+
<action android:name="android.intent.action.VIEW" />
45+
<data android:scheme="https" />
46+
</intent>
47+
<intent>
48+
<action android:name="android.intent.action.DIAL" />
49+
<data android:scheme="tel" />
50+
</intent>
51+
<intent>
52+
<action android:name="android.intent.action.SEND" />
53+
<data android:mimeType="*/*" />
54+
</intent>
55+
</queries>
56+
</manifest>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.example.flash_mail
2+
3+
import io.flutter.embedding.android.FlutterActivity
4+
5+
class MainActivity: FlutterActivity() {
6+
}

0 commit comments

Comments
 (0)