0% found this document useful (0 votes)
24 views

internship report in flutter

The internship report details the experience of Fataniya Dhruvanshi at Leaf Drive Academy, focusing on mobile application development using Flutter over a 45-day period. It outlines the objectives, scope, and technical skills acquired during the internship, including the use of tools like Dart and Firebase. The report also provides a week-by-week summary of tasks completed, culminating in the development of a Student Attendance System project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

internship report in flutter

The internship report details the experience of Fataniya Dhruvanshi at Leaf Drive Academy, focusing on mobile application development using Flutter over a 45-day period. It outlines the objectives, scope, and technical skills acquired during the internship, including the use of tools like Dart and Firebase. The report also provides a week-by-week summary of tasks completed, culminating in the development of a Student Attendance System project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Internship report 226150307053

Government polytechnic for girls ,surat

INTERNSHIP REPORT

Submitted by:
Fataniya Dhruvanshi Nareshbhai

Enrolment Number: 226150307053

Semester: 5th

Department: Computer Engineering

Internship Duration: 27-6-2024 to 7-8-2024 (45 days)

Company/Organization: Leaf Drive

Domain: Flutter

1|Page
Internship report 226150307053

Table of Contents
1. Acknowledgements

2. Introduction

o Objective of the Internship

o Scope of the Internship

3. Company Introduction

4. Internship Details

o Domain introduction

o Tools and Technologies Used

5. Work Done

o Week-wise Summary

o Work data

6. project

o Project Description

o Project output

7. Learning Outcomes

o Technical Skills Acquired

o Soft Skills Acquired

8. Conclusion

2|Page
Internship report 226150307053

ACKNOWLEDGEMENT

The satisfaction that accompanies the successful completion of any


task would be incomplete without the mention of people whose
ceaseless corporation made it possible, whose constant guidance
and encouragement grown all efforts with success.

My sincere thanks to my faculty mentor Nitin S Birary sir, external


guide Mihir M Parmar (Leaf Drive Academy) for providing valuable
guidance throughout our project work. Whenever i was confused
about anything, they were always there to help me.

I am thankful to Gujarat technological university (GTU) for giving


the opportunity to assign this internship work.

Fataniya Dhruvanshi
(226150307053)

3|Page
Internship report 226150307053

INTRODUCTION

1. Objective of the Internship

An internship is a purposeful activity of the student set in a work


environment in order to obtain learning outcomes within their
curriculum. During the internship, the knowledge, skills, and attitudes
learned in the programming can be applied. The aim of the internship
provides a direction to the activities, helps to focus on a result, and to
assess the result achieved.

 Objective
The main objective of this internship was to gain hands-on
experience in mobile application development using Flutter. The
project aimed at developing a cross-platform mobile application
that caters to specific purpose of the app.

2. Scope of the Internship

The internship provided an opportunity to work on real-world projects,


collaborate with professionals, and enhance my understanding of the
software development lifecycle, especially in the context of mobile app
development.

4|Page
Internship report 226150307053

Company/Organization Profile

 Leaf Drive Academy in surat is one of the leading businesses in the


Computer Training Institutes for C Programming. Also known for
Computer Training Institutes, Tutorials, Engineering Tutorials,
Computer Training Institutes for C++ Programming, PHP Training
Institutes, Android Training Institutes, flutter Training Institute,
wordpress Training Institute, Tutorials for Engineering Diploma, and
much more.

 Since 2015, Leaf Drive Academy in nanpura, Surat has been offering
professional training to students. It specialises and is well-known for
training students as well as working professionals in accounting, web
designing, programming languages, hardware and networking. It is
run and managed by a seasoned professionals who leads a team of
educators and trainers having relevant domain expertise. At this
institution, one can get trained in the subject of their choice by opting
from a wide range of courses.

5|Page
Internship report 226150307053

Internship Details

1. Domain introduction(flutter)

 Flutter is an open-source UI software development kit (SDK) created by


Google Launched in May 2017. It is used for building natively compiled
applications for mobile, web, and desktop from a single codebase.

 Flutter allows developers to write code once and deploy it across


multiple platforms, including iOS, Android, the web (using technologies
like Flutter for Web), and even desktop platforms like Windows,
macOS, and Linux.

 Unlike other frameworks that rely on web views or OEM(original


equipment manufacturer) widgets, Flutter uses its own high-
performance rendering engine to create visually stunning and
customizable user interfaces

2. Tools and Technologies Used

 Flutter: A UI toolkit for building natively compiled applications for


mobile, web, and desktop from a single codebase.

 Dart: The programming language used with Flutter.

 Firebase: Used for backend services such as authentication, database,


and analytics.

 Android studio: Android Studio is the official integrated development


environment (IDE) for Android application development. It is based
on IntelliJ IDEA, a Java integrated development environment for
software, and incorporates its code editing and developer tools

6|Page
Internship report 226150307053

WORK DONE

Week 1:

DATE DAY TASK


Week 1

Introduction of company team


27-6-24 Thursday and basic information about
flutter

Introduction and use of flutter in


28-6-24 Friday real-life application

Week 2:

DATE DAY TASK

Android studio set-up, SDK


1-7-24 Monday plugin with android studio for
run flutter application.

Introduction of dart file and


2-7-24 Tuesday run flutter application in
Week 2

mobile phone.

Basic Property and syntax of


3-7-24 Wednesday flutter.

Creating user define button in


4-7-24 Thursday flutter.

Add external plugin for flutter


5-7-24 Friday toast

7|Page
Internship report 226150307053

Week 3:

DATE DAY TASK

Create Login form using flutter


8-7-24 Monday with controller and validation

9-7-24 Tuesday Add images on login page.


Week 3

Create splash screen for flutter


10-7-24 Wednesday application

Show error massage using


11-7-24 Thursday flutter toast

navigation between two or


12-7-24 Friday more pages

Week 4:

DATE DAY TASK

Create registration page and


15-7-24 Monday add validation

16-7-24 Tuesday Firebase set-up


Week 4

Plugins firebase with android


17-7-24 Wednesday studio

Connect firebase with flutter


18-7-24 Thursday application

Create flutter project with


19-7-24 Friday firebase

8|Page
Internship report 226150307053

Week 5:

DATE DAY TASK

Enter and Fetch data from


22-7-24 Monday firebase.

Store and get Image using


23-7-24 Tuesday firebase
Week 5

Create logo of flutter


24-7-24 Wednesday application

Add input field for image In


25-7-24 Thursday flutter project using firebase
and flutter

Add forgot password option


26-7-24 Friday on login screen

Week 6:

DATE DAY TASK

Add slider for images using


29-7-24 Monday flutter plugin

Collect information and


30-7-24 Tuesday decide design for make final
project
Week 6

Create basic design of final


31-7-24 Wednesday project using flutter

Final project work ( Student


1-8-24 Thursday Attendance System)

Final project work ( Student


2-8-24 Friday Attendance System)

9|Page
Internship report 226150307053

Week 7:

DATE DAY TASK

Final project work Student


5-8-24 Monday Attendance System)
Week 7

Final project work ( Student


6-8-24 Tuesday Attendance System)

Final project work ( Student


7-8-24 Wednesday Attendance System)

10 | P a g e
Internship report 226150307053

Weekly Data
Week 1: (27-6-24 to 28-6-24)
Basic information about flutter
What is Flutter?
Flutter is an open source framework
developed and supported by Google.
Frontend and full-stack developers use
Flutter to build an application’s user
interface (UI) for multiple platforms with
a single codebase.

When Flutter launched in May 2017, it


mainly supported mobile app
development. Flutter now supports
application development on six platforms:
iOS, Android, the web, Windows, MacOS,
and Linux.

How is Flutter supported?


Flutter is supported by Google and an active open source community on
Reddit, Discord, Slack, Stack Overflow, and Gitter. Google has consistently
updated Flutter since its release in 2017, including with a Flutter 3 update in
2022 which extended stable support to macOS and Linux.

To make Flutter easier to learn, Google has written extensive documentation


and tutorials on Flutter’s site. To engage with Flutter users, Google also hosts
global events, promotes community projects, and sponsors developer
challenges. Upcoming events can be found on Flutter's site.

Flutter’s community has created thousands of third-party packages and


excellent tools that streamline the developer experience. These libraries are
available at pub.dev.

11 | P a g e
Internship report 226150307053

Real-Life Uses of Flutter

Examples Description
Flutter is widely used in building e-
commerce apps because of its
E-Commerce Apps ability to provide rich UI and
smooth user experiences.
Examples: Alibaba, eBay Motors.
Flutter helps create apps with
seamless animations and real-time
Social Media & Communication communication features.
Examples: Google Stadia, Tencent
apps.
Apps for ride-hailing, food delivery,
or home services benefit from
Flutter’s rapid development and
On-Demand Services
cross-platform capabilities.
Example: Nubank (digital bank in
Brazil).
Flutter is used in telemedicine,
fitness tracking, and patient
management apps to provide user-
Healthcare Apps
friendly interfaces.
Example: Philips Hue (for
healthcare device control).
Flutter ensures high performance
and robust security for banking
Banking & Finance Apps
apps.
Example: Reflectly, Nubank.
Apps requiring smooth animations
and adaptive designs use Flutter for
Entertainment & Streaming
better user experiences.
Example: Google Stadia.
Enterprises leverage Flutter for
internal tools and client-facing
Enterprise Apps solutions.
Example: App prototypes, CRM
tools.

12 | P a g e
Internship report 226150307053

Week 2: (1-7-24 to 5-7-24)


Android studio set up

13 | P a g e
Internship report 226150307053

Introduction of Dart file


What is Dart?
Dart is an open-source, object-oriented
programming language developed by
Google. It was first introduced in 2011 and
has since gained popularity for its versatility
and ease of use. Dart is designed to be
efficient, fast, and scalable, making it
suitable for a wide range of applications,
including web development, mobile app
development, server-side scripting, and
command-line tools.

How does Flutter relate to Dart?


Flutter is an open-source UI software development kit created by Google for
building natively compiled applications for mobile, web, and desktop from a
single codebase. It uses Dart as its primary programming language.

Basic property and syntax of flutter


Basic Properties of Flutter

Properties Description
Everything in Flutter is a widget:
UI components, layouts, and even
the app itself. Widgets are
Widget-Based
immutable, meaning you can't
change them directly; instead, you
create new ones.
Allows developers to instantly see
changes in the app without
Hot Reload restarting it, making the
development process fast and
efficient.

14 | P a g e
Internship report 226150307053

Write a single codebase that runs


Cross-Platform on Android, iOS, web, and
desktop.
Provides a rich set of pre-built
Customizable Widgets widgets that can be customized to
create unique designs.
Uses the Skia graphics engine for
rendering, offering smooth
High Performance
animations and native-like
performance.
The UI reacts to state changes,
Reactive Programming ensuring dynamic and interactive
user interfaces.
UI is built declaratively using code,
Declarative UI making it easier to visualize and
maintain.

Flutter Syntax
1. Entry Point: - Every Flutter app starts with the main() function.
void main() {
runApp(MyApp());
}

2. Basic App Structure:- A Flutter app is typically structured with widgets.

import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter App'),
),
body: Center(
child: Text('Hello, Flutter!'),),),
);
}}

15 | P a g e
Internship report 226150307053

3. Widgets
A Stateless Widget is a widget that does not require mutable state. Once
created, the properties of a stateless widget remain constant throughout
its lifecycle, and it doesn't rebuild unless its parent widget rebuilds.
Stateless widgets are ideal for displaying static content, such as text or
icons. They are lightweight and efficient when no changes in the UI are
needed during the widget's lifecycle.
 Stateless Widget: For static content that doesn’t change.
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Text('I am a stateless widget');
}
}

 StatefulWidget: For content that updates dynamically.


class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {


int counter = 0;

void increment() {
setState(() {
counter++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Counter: $counter'),
ElevatedButton(onPressed: increment, child: Text('Increment')),
], );
}
}

4. Layout Widgets

16 | P a g e
Internship report 226150307053

 Text: The Text widget in Flutter is a commonly used stateless widget that
displays a string of text. Since the text content is static, it does not require
state management, making it a perfect example of a stateless widget.
body: Center(
child: Text( 'Hello, Flutter!'), ),

 Row: Aligns children horizontally.


Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [Text('A'), Text('B'), Text('C')],
);

 Column: Aligns children vertically.


Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [Text('1'), Text('2'), Text('3')],
);

 Container: A versatile widget for styling and layout.


Container(
padding: EdgeInsets.all(16.0),
color: Colors.blue,
child: Text('I am a container'),
);

 Styling Widgets:- Use the TextStyle class to style text.


Text(
'Styled Text',
style: TextStyle(fontSize: 24, color: Colors.red),
);

 Add padding using the Padding widget.


Padding(
padding: EdgeInsets.all(16.0),
child: Text('Padded Text'),
);

 Navigation:- Use Navigator for screen transitions.


Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondScreen()),);

17 | P a g e
Internship report 226150307053

User define button in flutter


Code :- main.dart
import 'package:flutter/material.dart';

void main() {
runApp(MyApp());
}

class MyApp extends StatefulWidget {


@override
_MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {


@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter FlatButton Example'),
),
body: Center(child: Column(children: <Widget>[

Container(
margin: EdgeInsets.all(25),
child: FlatButton(
child: Text('SignUp', style: TextStyle(fontSize: 20.0),),
onPressed: () {},
),
),
Container(
margin: EdgeInsets.all(25),
child: FlatButton(
child: Text('LogIn', style: TextStyle(fontSize: 20.0),),
color: Colors.blueAccent,
textColor: Colors.white,
onPressed: () {},
),
),
]
))
),
);
}
}

18 | P a g e
Internship report 226150307053

Flutter Toast with plugin


Code :- main.dart

import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
void main() {
runApp(const MyApp());
}

class MyApp extends StatelessWidget {


const MyApp({super.key});

// This widget is the root of your application.


@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: MyFirstScreen(),
);
}
}
class MyFirstScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
child: Icon(Icons.home , color: Colors.white,),
onPressed: (){

},
),
appBar: AppBar(
backgroundColor: Colors.blue,
title: Text("My Appbar",style: TextStyle(color: Colors.white),),
),
body: SafeArea(
child:Center(
child: ElevatedButton(
onPressed: showToast,
child: Text('Show Toast'),
),
),
),
);

19 | P a g e
Internship report 226150307053

}
}
void showToast() {
Fluttertoast.showToast(
msg: "Hello, this is a Flutter Toast!",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
backgroundColor: Colors.black,
textColor: Colors.white,
fontSize: 16.0,
);
}

OUTPUT:

20 | P a g e
Internship report 226150307053

Week 3: (8-7-24 to 12-7-24)


Create log in form with validation

21 | P a g e
Internship report 226150307053

OUTPUT:

Create splash screen


Code: splacescreen.drat
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'appScreen.dart';
import 'login.dart';

class SplashScreen extends StatefulWidget {


const SplashScreen({super.key});

@override
State<SplashScreen> createState() => _SplashScreenState();
}

class _SplashScreenState extends State<SplashScreen> {


checkIsLogin() async {
Future.delayed(Duration(seconds: 5), () async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var email = prefs.getString('email');
if (email != null) {
Navigator.of(context).push(MaterialPageRoute(builder: (context) =>
AppScreen()));

22 | P a g e
Internship report 226150307053

} else {
Navigator.of(context).push(MaterialPageRoute(builder: (context) =>
LoginScreen()));
}
});
}

@override
void initState() {
super.initState();
checkIsLogin();
}

@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Center(
child: Image.asset(
"assets/anim.gif",
height: 200,
width: 200,
)),
),
);
}
}

OUTPUT:

23 | P a g e
Internship report 226150307053

Week 4: (15-7-24 to 19-7-24)


Registration page with validation

24 | P a g e
Internship report 226150307053

Output:

Firebase set-up
Firebase is a comprehensive app development platform developed by Google
that provides tools and services to help developers build, improve, and grow
their applications. It simplifies backend development and offers ready-to-use
features, allowing developers to focus on creating great user experiences.

Key Features of Firebase


1. Backend as a Service (BaaS): Firebase provides managed services for
common backend functionality like authentication, databases, hosting,
and more.

2. Cross-Platform Support: Firebase supports web, iOS, Android, and


other platforms, allowing developers to use the same backend for all
their apps.

3. Real-Time Capabilities: Firebase offers real-time synchronization and


communication, ideal for apps like chat applications or collaborative
tools

25 | P a g e
Internship report 226150307053

How Firebase Works


1. Integration:
Add the Firebase SDK to your project.
Set up Firebase in the Firebase Console.
2. Configuration:
Download and include the google-services.json (Android) or
GoogleService-Info.plist (iOS) file in your project.
3. Feature Implementation:
Use Firebase APIs for features like data storage, authentication, or
messaging.

26 | P a g e
Internship report 226150307053

27 | P a g e
Internship report 226150307053

Download and include the google-services.json (Android) or GoogleService-


Info.plist (iOS) file in your project.

28 | P a g e
Internship report 226150307053

29 | P a g e
Internship report 226150307053

Week 5: (22-7-24 to 26-7-24)


Enter and fetch data in firebase
Fetch data:
onPressed: () async {
if (formkey.currentState!.validate() == true) {
showProgressDialog(context);

var userData = await FirebaseFirestore.instance


.collection("students")
.where(
'email',
isEqualTo: emailController.text.toString(),
)
.where(
'password',
isEqualTo: passwordController.text.toString(),
)
.get();

Store data:

onPressed: () async {
if (formkey.currentState!.validate() == true) {
showProgressDialog(context);

var userData = await FirebaseFirestore.instance


.collection("students").get();
// add data into database
CollectionReference student = FirebaseFirestore.instance.collection("students");
await student.add({
'studentname': snameController.text.toString(),
'enrolment': enrolmentController.text.toString(),
'pnumber': pnoController.text.toString(),
'email': emailController.text.toString(),
'password': passwordController.text.toString(),
'gender': selectedGender,
});

Add logo on flutter application


1. Prepare the Logo Asset
- Ensure the logo image is in a supported format, such as `.png`, `.jpg`, or `.svg`.

- Optimize the image for the app (preferably lightweight and properly scaled).

30 | P a g e
Internship report 226150307053

2. Add the Logo to the `assets` Folder


1. Create an `assets` folder in your Flutter project root directory if it doesn't
already exist:
my_project/
├── assets/
└── lib/
2. Place your logo file in the `assets` folder. For example: `assets/logo.png`.

3. Register the Asset in `pubspec.yaml`


Add the `assets` directory under the `flutter` section in the
`pubspec.yaml` file:
yaml
flutter:
assets:
- assets/logo.png
After updating, run the following command to ensure the changes are
applied:
flutter pub get

3. Display the Logo in Your App


Use a `Image.asset` widget to display the logo in your app. For example:
import 'package:flutter/material.dart';

void main() {
runApp(const MyApp());
}

class MyApp extends StatelessWidget {


const MyApp({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Flutter Logo Example')),
body: Center(
child: Image.asset(
'assets/logo.png',
width: 150, // Adjust size as needed
height: 150,
),
),
),
);
}
}

31 | P a g e
Internship report 226150307053

Add forgot password option and page in flutter app

Output:

32 | P a g e
Internship report 226150307053

Week 6: (29-7-24 to 2-8-24)

Slider for image in flutter app


Code: slider.dart
import 'package:flutter/material.dart';
import 'package:card_swiper/card_swiper.dart';

import 'imagepath.dart';
class exSwipper extends StatefulWidget {
const exSwipper({super.key});

@override
State<exSwipper> createState() => _exSwipperState();
}

class _exSwipperState extends State<exSwipper> {


@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Swipper'),
backgroundColor: Colors.blue,
),
body: SafeArea(
child: Swiper(
loop: true,
duration: 1200,
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) {
return Container(
width: 400,
height: 400,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(imagePath[index])
),
borderRadius: BorderRadius.circular(20),
), // BoxDecoration
); // Container
},
itemCount: imagePath.length,)
),
);
}

33 | P a g e
Internship report 226150307053

}
OUTPUT:

Creating a design of project


 To creating design for mobile application I use whimsical web

Whimsical File

The website offers an intuitive and visually engaging platform designed for efficient file
organization and collaboration. Its key features include:

Drag-and-Drop Interface: Simplifies file management by allowing users to organize


documents, images, and notes effortlessly.

Real-Time Collaboration: Supports multiple users working together, enabling seamless


teamwork and file sharing.

Customizable Workspaces: Create visually appealing and structured layouts to organize your
files, tasks, and workflows.

34 | P a g e
Internship report 226150307053

Integrated Tools: Combines brainstorming, planning, and documentation, making it a one-


stop solution for creative and collaborative projects.

Cross-Platform Access: Access and manage files from anywhere on any device.

Week 7: (5-8-24 to 7-8-24)


Make final project

35 | P a g e

You might also like