0% found this document useful (0 votes)
16 views29 pages

Abhi Report

This report details a summer internship project on developing a calculator using Flutter, submitted by Abhi Butani at Gujarat Technological University. It covers the structure of the project, including completion certificates, daily activities, and an overview of Flutter and Dart technologies. The report concludes with insights on the importance of Flutter in modern app development and references for further learning.

Uploaded by

M.t Gaming
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)
16 views29 pages

Abhi Report

This report details a summer internship project on developing a calculator using Flutter, submitted by Abhi Butani at Gujarat Technological University. It covers the structure of the project, including completion certificates, daily activities, and an overview of Flutter and Dart technologies. The report concludes with insights on the importance of Flutter in modern app development and references for further learning.

Uploaded by

M.t Gaming
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/ 29

GUJARAT TECHNOLOGICAL UNIVERSITY

Chandkheda, Ahmedabad

Affiliated

SAL EDUCATION CAMPUS

SAL College of Engineering

CALCULATOR

A Report
Submitted By

Abhi Butani 211130107054

Under Subject of

SUMMER INTERNSHIP (3170001)


Of
BACHELOR OF ENGINEERING
In
Computer Engineering

Under the guidance of


Prof. Anirudhdha M. Nayak

Academic Year

2024-25

1
1
INDEX

Contents
1. Completion Certificate
2. Company Certificate
3. College Certificate
4. Topic- Basic Content Management System
5. Activity
Day-1
Day-2
Day-3
Day-4
Day-5
Day-6
Day-7
Day-8
Day-9
Day-10
Day-11
Day-12
Day-13
6. Conclusion
7. Reference

2
SAL COLLEGE OF ENGINEERING

CERTIFICATE

Date:

This is to certify that the “ CALCULATOR” has been carried out by Abhi
Butani(211130107054) under my guidance in the completion of the Summer Internship in
Computer Branch 7th Semester of Gujarat Technological University, Ahmedabad during the
academic Year 2024-25.

Prof. Anirudhdha Nayak Prof. Vijaysinh Jadeja


Internal Guide Head of Department
CE Department CE, IT & ICT Department
SCE SCE

3
ABOUT THE TOPIC

Abstract :-

A calculator, in its essence, is a tool designed to perform mathematical computations


swiftly and accurately. It features a user-friendly interface typically comprising a keypad for input and a
display for output, supporting basic arithmetic operations like addition, subtraction, multiplication, and
division, along with advanced functions such as exponentiation, square roots, and logarithms. Calculators are
crucial in fields ranging from education to finance and engineering, enabling users to perform complex
calculations efficiently. Whether in hardware or software form, calculators prioritize accuracy, error handling,
and intuitive design to enhance user experience and utility across various applications.

Modules :-

Widget Modules: Widgets are the building blocks of Flutter applications. Each widget encapsulates a part of
the UI or a specific feature. Widget modules can range from simple buttons and text fields to complex custom
widgets that represent more intricate UI elements.

State Management Modules: Flutter provides various approaches to manage application state, such as using
setState(), Provider, Bloc, or Riverpod. State management modules handle data flow and ensure that changes in
application state update the UI accordingly.

Networking Modules: Modules responsible for handling network requests and APIs. These modules typically
include packages like http, dio, or retrofit, which facilitate making HTTP requests, handling responses, and
managing network-related functionalities.

4
Database Modules: Flutter applications often require local data storage. Database modules integrate packages
like sqflite or Moor for SQLite databases, or Firebase for cloud-based databases, enabling data persistence and
retrieval.

Testing Modules: Modules dedicated to testing ensure application stability and reliability. Flutter supports unit
testing, widget testing, and integration testing. Testing modules include packages like flutter_test and Mockito
for writing and executing tests.

Technology: FLUTTER

 Dart Programming Language

 Widget-Based Architecture

 State Management

 Packages and Plugins

 Flutter SDK and Tools

 Flutter for Web and Desktop

5
Day 1

What is Flutter?

Flutter is an open-source framework to create high-quality, high- performance mobile applications


across mobile operating systems - Androidand iOS. It provides a simple, powerful, efficient and easy-to-
understand SDK to write mobile applications in Google’s own language, Dart. This tutorial walks through the
basics of Flutter framework, installation of FlutterSDK, setting up Android Studio to develop Flutter based
application, architecture of Flutter framework and developing all type of mobile applications using Flutter
framework.

Features of Flutter.

 Modern and reactive framework.


 Uses Dart programming language and it is very easy to learn.
 Fast development.
 Beautiful and fluid user interfaces.
 Huge widget catalog.
 Runs same UI for multiple platforms.
 High performance application.

Advantages of Flutter.

 Dart has a large repository of software packages which lets you toextend the capabilities of your
application.

6
 Developers need to write just a single code base for both applications (both Android and iOS
platforms). Flutter may to be extended to otherplatform as well in the future.
 Flutter needs lesser testing. Because of its single code base, it is sufficient if we write automated tests
once for both the platforms.
 Flutter’s simplicity makes it a good candidate for fast development. Its
customization capability and extendibility makes it even more powerful.
 With Flutter, developers has full control over the widgets and its layout.
 Flutter offers great developer tools, with amazing hot reload.

Disadvantage Of Flutter

 Since it is coded in Dart language, a developer needs to learn new language (though it is easy to learn).
 Modern framework tries to separate logic and UI as much as possible but, in Flutter, user interface and
logic is intermixed. We can overcome this using smart coding and using high level module to separate
user interface and logic.
 Flutter is yet another framework to create mobile application. Developers are having a hard time in
choosing the right development tools in hugely populated segment.

7
Day 2

What is calculator?

A calculator is a specialized tool designed for performing mathematical calculations swiftly and accurately. It
typically features a keypad for inputting numbers and operations, coupled with a display screen that shows both
the entered inputs and the resulting computations. Calculators vary widely in complexity, ranging from basic
models capable of simple arithmetic (addition, subtraction, multiplication, division) to more advanced versions
incorporating scientific functions like logarithms, trigonometry, and statistical calculations. They are essential in
fields such as education, finance, engineering, and everyday life, providing users with the ability to quickly
solve mathematical problems without manual computation. Whether as standalone physical devices or
integrated within software on computers and mobile devices, calculators streamline numerical tasks and are
indispensable tools for both professionals and individuals needing precise computations on demand.

Calculator Formula :-

Basic Operations :-

 Addition: a+b

 Subtraction: a-b

 Multiplication: a*b

 Division: a/b

Exponents And Roots :-

 Exponentiation: a^b

 Square root: a\sqrt{a}a

 Cube root: a3\sqrt[3]{a}3a

8
Day 3

Limitations of calculator

Calculators, while efficient for quick numerical computations, have several limitations.
They often provide limited precision due to display constraints, potentially leading to rounding errors in
highly precise calculations. Their capabilities for handling complex mathematical functions and symbolic
operations are typically restricted compared to computational software. Dependency on batteries for power
and the lack of connectivity for accessing external data or performing advanced analyses are further
constraints. Additionally, their small display screens can hinder the review of detailed calculations or
graphical outputs. Despite these drawbacks, calculators remain essential for their portability, ease of use, and
reliability in performing routine mathematical tasks swiftly.

Who shouldn't use a calculator

There isn't a specific group of people who shouldn't use calculators universally, as they
are generally beneficial tools for everyone, particularly in education, engineering, finance, and everyday
calculations. However, there are instances where over-reliance on calculators might hinder certain aspects of
learning or problem-solving skills. For example, students learning basic arithmetic might benefit from
practicing mental math to reinforce foundational skills rather than relying solely on calculators. Additionally,
professionals in fields requiring high precision or conceptual understanding (such as mathematicians or
scientists) may need to balance calculator use with deeper comprehension of mathematical principles. In
educational settings, it's often encouraged to use calculators as aids after students have grasped fundamental
concepts, ensuring calculators enhance rather than replace understanding.

9
Day 4

Supported platforms

As of the current release, Flutter supports the following platforms:

 Android
 iOS
 Linux
 MacOS
 Web

Concepts
1. Assets, images, and icon widgets
2. Layout
3. Scrolling
4. Text
5. Styling

What is Dart?

Dart is a client-optimized language for developing fast apps on any platform. Its goal is to offer the most
productive programming language for multi-platform development, paired with a flexible execution runtime
platform for app frameworks.

Languages are defined by their technical envelope—the choices made during development that shape the
capabilities and strengths of a language. Dart is designed for a technical envelope that is particularly suited
to client development, prioritizing both development (sub-second stateful hot reload) and high-quality
production experiences across a wide variety of compilation targets (web, mobile, and desktop).

10
Day 5

Apply Theme:

Themes are an integral part of UI for any application. Themes are used to design the fonts and colors of
an application to make it more presentable. In Flutter, the Theme widget is used to add themes to an
application. One can use it either for a particular part of the application like buttons and navigation bar or
define it in the root of the application touse it throughout the entire app.

11
12
Day 6
Variable

A variable is a name allocated to a storage area that can be controlled by the programme. A type of variable
specifies the size and configuration of the memory of the variable.

The range of the value that can be inserted into a variable is calculated before inserting the value into it, as the type
of the variable must be decided beforeinserting the value into it.

13
Day 7

Library

14
Day 8

Logic :-

15
16
Day 9

Logic :-

17
18
Day 10

Font :-

19
20
Day 11

Assets And Dependencies :-

21
22
Day 12

Design

23
24
Day 13

Result :-

25
26
CONCLUSION

Objective
The objective of this internship is to get knowledge about flutter from basicsto intermediate level.

Motivation
Nowadays, flutter is replaced by most of the frameworks, due its features it is easy for a beginner level
developer to kick start their journey with flutter, and also flutter is developed by google and acceptable by most
of the developers across the globe.

27
REFRENCES

https://github.com/flutter

https://www.tutorialspoint.com/flutter

https://docs.flutter.dev

https://dart.dev

28

You might also like