Mini Project Final
Mini Project Final
Mini Project Final
COURSE: B.Tech.
SEMESTER: III
by
Harshit Garg -2000910100075
5. Declaration 5
6. Certificate 6
7. Acknowledgement 7
8. Flutter 8-10
9. Dart 11-12
1. Main Page
2. User ID Page
3. Features Page
4. Attendance Calendar
5. Subject’s Page
6. College Location Map
7. Class Time Table
16. Reference 26
VISION AND MISSION
Develop a platform for achieving globally acceptable level of intellectual acumen and
technological competence
Create an inspiring ambience that raises the motivation level for conducting quality research
“To spark the imagination of the Computer Science Engineers with values, skills
and creativity to solve the real-world problems.”
1.
PROGRAM OUTCOMES (POs)
2.
PROGRAM EDUCATIONAL OUTCOMES (PEOs)
PEO2: To enable students with core skills for employment and entrepreneurship.
PEO4: To foster students with research-oriented ability which helps them in analyzing
and solving real life problems and motivate them for pursuing higher studies.
3.
COURSE OUTCOMES (COs)
C224.2 Solve the real-world problems effectively and adapt with real life working
environment.
C224.3 Acquire skills and knowledge on latest tools and technologies
C224.4 Develop effective communication skills for presentation of project related
activities
C224.5 Effectively communicate solution to problems through technical reports
CO-PO-PSO MAPPING
PO PO PO PO PO PO PO PO PO PO PO PO PSO PSO
1 2 3 4 5 6 7 8 9 10 11 12 1 2
C224.1 3 3 3 3 2 3 3 3 3 3 2 3 3 3
C224.2 3 3 3 3 3 3 3 3 3 2 3 3 3 3
C224.3 2 2 3 3 3 2 3 3 3 1 2 3 3 3
C224.4 2 2 2 2 2 2 2 2 2 3 2 3 2 2
C224.5 2 2 2 2 2 2 2 2 2 3 2 3 2 2
C224 2. 2.4 2.6 2.6 2.4 2.4 2.6 2.6 2.6 2.40 2.20 3.00 2.60 2.60
40 0 0 0 0 0 0 0 0
4.
DECLARATION
I hereby declare that this submission is my own work and that, to the best
of my knowledge and belief, it contains no material previously published
or written by another person nor material which to a substantial extent has
been accepted for the award of any other degree or diploma of the
university or other institute of higher learning, except where due
acknowledgment has been made in the text.
Signature:
5.
CERTIFICATE
This is to certify that Mini Project/Internship Assessment Report entitled “JSSATE LOGIN”
which is submitted by “HARHSIT GARG” in partial fulfillment of the requirement for the
award of degree B. Tech. in Department of Computer Science and Engineering of Dr. APJ
Abdul Kalam Technical University, Uttar Pradesh, Lucknow is a record of the candidate’s own
work carried out by them under my supervision. The matter embodied in this report is original
and has not been submitted for the award of any other degree.
Date: 17.02.2022
6.
ACKNOWLEDGEMENT
7.
FLUTTER
Flutter is Google’s Mobile SDK to build native iOS and Android, Desktop
(Windows, Linux, macOS), Web apps from a single codebase. When building
applications with Flutter everything towards Widgets – the blocks with which
the flutter apps are built. They are structural elements that ship with a bunch
of material design-specific functionalities and new widgets can be composed
out of existing ones too. The process of composing widgets together is called
composition. The User Interface of the app is composed of many simple
widgets, each of them handling one particular job. That is the reason why
Flutter developers tend to think of their flutter app as a tree of widgets.
Types of widgets:
Stateless Widgets
Stateful Widgets
8.
Widgets in Flutter:
Flutter is Google’s UI toolkit for crafting beautiful, natively compiled iOS and
Android apps from a single code base. To build any application we start with
widgets – The building block of flutter applications. Widgets describe what their
view should look like given their current configuration and state. It includes a
text widget, row widget, column widget, container widget, and many more.
Widgets: Each element on a screen of the Flutter app is a widget. The view
of the screen completely depends upon the choice and sequence of the
widgets used to build the app. And the structure of the code of an app is a tree
of widgets.
1. Accessibility: These are the set of widgets that make a flutter app
more easily accessible.
2. Animation and Motion: These widgets add animation to other
widgets.
3. Assets, Images, and Icons: These widgets take charge of assets
such as display images and show icons.
4. Async: These provide async functionality in the flutter application.
5. Basics: These are the bundle of widgets which are absolutely
necessary for the development of any flutter application.
6. Cupertino: These are the ios designed widgets.
7. Input: This set of widgets provide input functionality in a flutter
application.
8. Interaction Models: These widgets are here to manage touch events
and route users to different views in the application.
9. Layout: This bundle of widgets helps in placing the other widgets on
the screen as needed.
10. Material Components: This is a set of widgets that mainly follow
material design by Google.
11. Painting and effects: This is the set of widgets which apply visual
changes to their child widgets without changing their layout or shape.
12. Scrolling: This provides sacrollability of to a set of other widgets
that are not scrollable by default.
13. Styling: This deals with the theme, responsiveness, and sizing of
the app.
14. Text: This display text.
9.
Description of the Widgets Used:
Scaffold – Implements the basic material design visual layout
structure.
AppBar – To create a bar at the top of the screen.
Text To write anything on the screen.
Container – To contain any widget.
Center – To provide center alignment to other widgets.
Pros:
Flutter uses a single codebase, called, Dart for both platforms,
Android and iOS which is a simple language ensuring type safety.
Both Flutter language and community are developing with great
speed, releasing new features, widgets and add-ons.
Flutter has its own set of widgets rather than using the widgets
provided by the host operating system which means the user
provides its own gesture recognition model, thus, having greater
control over the precise rendering or customization of the widgets.
The hot-reloading is a game-changer in the productivity of the
development process. It gives a lively effect to the app under
development, thus making the whole development cycle more
exciting for the UI/UX developer using Flutter.
Cons:
In reality, there are no cons to flutter because there isn’t any other
framework as effective and elaborate as flutter. Even though if we
have to list any it would be related to Dart programming language as
while converting dart to JavaScript there are some bugs to be fixed,
dart doesn’t have a framework for backend, etc.
10.
DART
In dart main() function is predefined method and acts as the entry point to the
application. A dart script needs the main() method for execution of the code.
The program code goes like this:
Output:
Welcome to GeeksForGeeks
The print() command is predefined function that prints the specific string or
value to the standard input.
Execution of program:
1. Online Compiler: The online compiler which support Dart is Dart
Pad.
2. IDE: The IDEs which support Dart are WebStorm, Intellij, Eclipse,
etc. Among them WebStorm from Jetbrains is available for Mac OS,
Windows and Linux.
3. The dart program can also be compile through terminal by executing
the code dart file_name.dart.
11.
Dart – Common Collection Methods:
List, Set, and Map share common functionality found in many collections.
Some of this common functionality is defined by the Iterable class, which List
and Set implement.
1. isEmpty() or isNotEmpty:
Use isEmpty or isNotEmpty to check whether a list, set, or map has items:
2. forEach():
To apply a function to each item in a list, set, or map, you can use forEach():
3.where():
Use Iterable’s where() method to get all the items that match a condition. Use
Iterable’s any() and every() methods to check whether some or all items match
a condition.
Dart – Functions:
Function is a set of statements that take inputs, do some specific computation
and produces output. Functions are created when certain statements are
repeatedly occurring in the program and a function is created to replace them.
Functions make it easy to divide the complex program into smaller sub-groups
and increase the code reusability of the program.
12.
FIREBASE
Firebase – Introduction
Firebase is a product of Google which helps developers to build, manage, and
grow their apps easily. It helps developers to build their apps faster and in a
more secure way. No programming is required on the firebase side which
makes it easy to use its features more efficiently. It provides services to
android, ios, web, and unity. It provides cloud storage. It uses NoSQL for the
database for the storage of data.
Features of Firebase:
Mainly there are 3 categories in which firebase provides its services.
13.
Build better applications
This feature mainly includes backend services that help developers to build
and manage their applications in a better way. Services included under this
feature are :
Realtime Database: The Firebase Realtime Database is a cloud-
based NoSQL database that manages your data at the blazing speed
of milliseconds. In simplest term, it can be considered as a big JSON
file.
14.
Authentication: Firebase Authentication service provides easy to use
UI libraries and SDKs to authenticate users to your app. It reduces the
manpower and effort required to develop and maintain the user authen-
tication service.
15.
Flutter – Working with Animations
Whenever building an app animation plays a vital role in designing the
experience of the user. People tend to like an app that has a smooth flow and
a slick design. The Flutter Package provides a variety of methods to create
and use animation in our app. We will be discussing the inbuilt Flutter widgets
to handle animation.
As the flow chart shows to handle animation in Flutter the framework provides
widgets of different capacity and implementation. The basic property that is
present in all the animation widget is the Duration and Curve. The Duration
is the time for which the widget animates and the Curve defines the way the
object animates and from beginning to end (The flow of the animation from
start to end). The built-in animation widgets in flutter can be divided into two
main categories.
Implicit Widgets:
These are the simplest widget provided by flutter. These widgets can be
implemented without much work from the developer. These are very basic
animation techniques, so they don’t have many options available to be
changed. They have one-way animation which is not continuous. The implicit
widgets can in turn be categorized into two as
16.
TweenAnimationBuilder: These widgets animate a given widget
from an initial value (Tween.begin) to a final value (Tween.end). This
widget can be used to animate a custom widget for a simple
animation. It takes in a builder property that builds the Animation
based on the value provided in its parameter. We can also provide
what needs to be done when the animation completes with the help
of onEnd callback.
Explicit Widget:
These widgets provide a more granular control on the animated widget. They
have the properties to control the repetition and movement of the widget.
These widgets require an AnimationController for the granular control they
provide. This controller can be defined in the initState and
the dispose of states for better usage. The explicit widget can be categorized
as
XYZTransition: Here XYZ is a specific widget available as
Transition. These are built-in transition which provides more control
over the implicit animation. They can be thought of as an extension
of the AnimatedXYZ widget. Some explicit XYZTransition available
are:
SizeTransition
FadeTransition
AlignTransition
RotationTransition
PositionedTransition
DecoratedBoxTransition
17.
FIREBASE CLOUD
How to Push Notification in Android using Firebase Cloud
Messaging?
Firebase Cloud Messaging is a real-time solution for sending notifications to
client apps without any kind of charges. FCM can reliably transfer notifications
of up to 4Kb of payload. In this article, a sample app showing how this service
can be availed is developed. Though FCM also allows sending out
notifications using an app server, here Firebase admin SDK is used. Follow
the complete article to implement an example of FCM.
Cloud Storage is built for application developers who need to store and
serve user-generated content, usually big files like photos or videos. It is
mostly used or developed for photos and videos, but we might use this for
other things like text files.
18.
Key Capabilities
Firebase Cloud Storage is capable of performing the following things:
Robust Operations:
Reliability is one of the biggest advantages of the Cloud Firestore. Firebase SDKs
perform uploads and downloads regardless of network quality. Downloads and
uploads both are robust. Robust means from where it stopped, will restart from there,
and save the user time and bandwidth.
Strong security:
For providing simple and intuitive authentication to the developer, Firebase SDKs for
Cloud Storage integrate with Firebase Authentication. For allowing access based on
filename, size, content type, and other metadata, we can use declarative security
model.
High Scalability:
Cloud Storage is built for the Exabyte scale when our app goes viral. Easily grow from
prototype to production using the same structure that powers Spotify and Google
Photos.
19.
Applications use cloud storage through traditional storage protocols or directly through
an API. Many vendors provide complementary services designed to help collect,
secure, manage, and analyze data on a large scale.Cloud Storage stores our files in
the Google Cloud Storage bucket and makes them accessible through both Firebase
and Google Cloud. It allows us to upload and download files from mobile clients
through the Firebase SDKs, and perform server-side processing such as image
filtering or video transcoding using the Google Cloud Platform. Cloud Storage scales
automatically. It means that there is no need to migrate to any other provider.
Firebase Cloud Storage is a powerful yet easy-to-use tool for storing all types of
objects. With its help, we can store videos, images, audio, and other types of user
content. Firebase Cloud Storage allows us to easily switch from app prototyping to a
complete product, thanks to its ability to be highly-scalable and process exabytes of
data.
FIREBASE AUTHENTICATION
20.
An intuitive splash screen maker:
What is a splash screen?
Most splash screens show the app’s logo as a short animation. The splash screen may
include a current version number or a loading progress bar as well.
Although the primary purpose of an iOS or Android splash screen is to provide a smooth
transition into the app while it’s loading, there’s obviously a limit to how long users will
wait. We recommend keeping a splash screen animation under 3 seconds to keep
people from bouncing.
YouTube splash screens before videos), a splash screen is effectively a way of buying
time while the full app loads. However, ideally, it should go much further than this, by
also making a strong impact on UX.
Simply put, first impressions count. A sleek, stylish, and seamless app splash screen will
raise expectations(and likely also perceptions) of your app among users. This will help
to reinforce the image of your app as a high quality, well-designed, and supremely usable
bit of software.
Get your splash screen right, and users will enjoy being greeted by it each time they load
the app. Get it wrong, and they’ll see it as a waste of their precious time.
The following are some best practices to adhere to when making an app splash screen.
Follow these guidelines and half the battle is already won.
● Reduce this to 1 second for apps that users are likely to open several times per day.
21.
● When evaluating splash screen designs, go for simple and bold over complex and
intricate.
● The same for animation; overly complicated sequences will only appear showy, and
likely make users feel that their time isn’t valued.
● A strong background color or even a background image can be good options. However,
if your splash screen features an animation, a basic solid or gradient background will
likely work better, providing a clean canvas against which the action can take place.
● Ask a developer what’s the absolute minimum number of tasks an app must carry out
on boot-up, and they’ll likely provide you with a list as long as your arm. Stay firm, and
insist that this be reduced to only a handful of key tasks, with all the others taking place
once the app is running.
● If you really want to produce a more complex intro sequence with flashy animation and
special effects, keep this for only the first time that the user starts up the app, switching
to a more simple version for all subsequent occasions.
Here we created two activities MainActivity showing the Splash Screen and
SecondActivity in order to switch from MainActivity to SecondActivity. The main
program is written in MainActivity, you can change activities as per your need.
To remove the ActionBar, you need to make following changes in your
styles.xml file.
style name="AppTheme"
parent="Theme.AppCompat.Light.NoActionBar"
...
22.
Flutter – Animated Splash Screen
In Framer you can make a splash screen by using the out-of-the-box Video Default
Component. Start by creating two screens using the Screen tool. The first screen is
where your video will play, and the second will be the screen to which it transitions. Next,
insert the Video component from the Insert Menu. Place the Video component on the
first screen and upload a video from your computer or link one from a URL.
With the Video component selected, set the controls to Autoplay: Yes, and Loop: No. Set
the Interaction of the Video component to transition when the video ends, then set the
Transition type to Magic Motion. Now your splash screen is ready to go!
23.
JSSATE LOGIN APP
25.
Reference:
https://www.geeksforgeeks.org/introduction-to-android-
development/
https://developer.android.com/guide
26.