Intership Report

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

NATIONAL INFORMATICS

CENTRE (NIC)

Sarthak Gupta
Internship Report Roll no. 191101037
ECE, 8th Sem

Progress as of May 26 , 2023


Part 1: Introduction

Part 2: Basic Php Project


Contents of Part 3: Dot Net Introduction

the Report Part 4: Flutter App Development

Part 5: My Project (Ongoing)


Introduction The National Informatics Centre (NIC) is a premier government agency under the
Ministry of Electronics and Information Technology (MeitY), Government of India. NIC is
responsible for providing information technology (IT) solutions to the government of
India.
I was fortunate to have the opportunity to intern at NIC. My internship was based in the
NIC Secretariat Jammu. I was assigned to the NIC's IT Infrastructure Division, where I
worked on a variety of projects related to the development and maintenance of NIC's IT
infrastructure.
During my internship, I learned a great deal about the IT industry and the challenges
faced by government agencies in adopting IT solutions. I also gained valuable experience
in working on a team and in managing projects.
I am grateful to NIC for the opportunity to intern at their organization. I believe that my
internship has prepared me well for a career in the IT industry.
BASIC PHP PROJECT
During my internship, I had the opportunity to work on a project focused on creating a basic
PHP-based website.
The main objective of the project was to gain practical experience in web development and
understand the process of moving user-entered data from web forms to a database.
The project involved developing a basic website with a login page and two types of forms.
HTML and CSS were utilized for designing the front-end interface, while PHP was used for
implementing the back-end functionalities, such as processing user input and interacting with
the database.
The login page played a crucial role in user authentication and secure access to the website.
Through the combined use of HTML and CSS, I designed an intuitive and visually appealing
login page.
PHP was then employed to validate user credentials and grant appropriate access to the
website's features and password of the user was stored using hashing to make it secure.
With the help of HTML and CSS, I designed the form layouts to ensure a seamless user
experience.
PHP was responsible for handling form submissions, validating input data, and preparing it for
storage in the database.
Database integration was a key component of the project. By leveraging PHP, I established a
connection between the website and the database, utilizing tools like PHPMyAdmin.
This allowed for seamless storage of user-entered data into the database, using PHP's
database manipulation functions.
The project provided valuable insights and learnings in web development. I gained proficiency
in PHP programming, grasped the importance of secure data handling, and acquired knowledge
in database integration.
This experience deepened my understanding of front-end and back-end web development and
their integration.
DATABASE
DATABASE
DATABASE
DOT NET INTRODUCTION
During my internship, I had the opportunity to understand NIC ongoing project "Sarkari Zameen"
that is a web application developed by NIC for the land enroachment going in Jammu and
Kashmir.
The basic idea behind this project was to gather the data of the lands which are going to be
enroached or already enroached.
The data gathared is given to the corresponding government department for taking the
necessary decions.
This project was developed using the technology Dot Net MVC (a web development framework
widely used for building scalable and robust web applications).
The internship provided me with valuable insights into the importance of .NET MVC in modern
web development
.NET MVC is an architectural pattern that separates the application logic into three key
components: Model, View, and Controller.
The Model represents the data and business logic of the application, the View is responsible
for rendering the user interface, and the Controller handles user requests and coordinates the
interaction between the Model and View.
Utilizing .NET MVC offers various benefits, including code reusability, separation of concerns,
and scalability.
.NET MVC played a crucial role in the development of the "Sarkari Zameen" project, offering a
structured and organized approach.
The MVC pattern ensured separation of concerns, allowing for modular development and
easier maintenance.
It facilitated code reusability, as individual components (Model, View, and Controller) could be
developed and tested independently.
I learned how to effectively separate concerns, design robust models, create user-friendly
views, and implement controllers to handle user interactions.
The internship allowed me to enhance my technical skills and provided valuable insights into
modern web development practices.
APP DEVELOPMENT USING FLUTTER
Flutter, developed by Google, is an open-source UI software development kit (SDK) that
enables developers to create natively compiled applications for mobile, web, and desktop
platforms from a single codebase.
The "write once, run anywhere" philosophy of Flutter allows for efficient and cost-effective
development across multiple platforms, streamlining the app development process.
Leveraging Flutter's extensive widget library, developers can build beautiful and customizable
user interfaces with ease, ensuring a visually appealing and intuitive user experience.
The use of Dart, a programming language optimized for Flutter, offers a seamless development
experience with its efficient and expressive syntax.
The reactive architecture of Flutter ensures that changes in the app's state automatically
trigger UI updates, resulting in a smooth and responsive user experience.
Flutter's vibrant developer community provides extensive documentation, tutorials, and ready-
to-use packages, empowering developers to leverage existing solutions and accelerate the
app development process.
With Flutter's support for platform-specific APIs, developers can access native features and

functionalities, seamlessly integrating the app with the underlying operating system.

The "write once, run anywhere" philosophy of Flutter enables developers to build apps that can

run on both iOS and Android platforms with minimal modifications, saving time and resources.

The performance benefits of Flutter, such as fast rendering and efficient memory management,

contribute to smooth animations, snappy interactions, and overall app responsiveness.

Flutter's strong community support, regular updates, and active development roadmap ensure

a vibrant and future-proof ecosystem for building cutting-edge mobile applications.


MY PROJECT (Ongoing)
App Overview :
The app I developed during the internship showcases the power and versatility of Flutter.

It encompasses various features aimed at enhancing user experience and functionality, making

it an engaging and practical application.

The primary focus of the app was to provide users with a seamless login/signup process and

incorporate essential features such as camera capture with location and timestamp, image

upload, and image preview from a database.


Software used to create this app is Android Studio and
programming language used is dart.
Login and Signup :
The app ensures a secure and user-friendly login/signup process, enabling users to create

accounts or log in to access personalized features.

By implementing robust authentication mechanisms, the app safeguards user information and

ensures data privacy.

The login/signup process follows industry-standard security practices, providing a seamless

and secure user experience.

After loging in, three options are provided to the user and those options are :

Camera

Upload

List
Login and Signup :
Camera Capture with Location and Timestamp :
One of the standout features of the app is the camera capture functionality, which empowers

users to capture images seamlessly within the app.

Utilizing the device's camera capabilities, users can click images and store them with additional

metadata such as location and timestamp.

The integration of location services enables the app to retrieve the user's geographical

coordinates, enriching the captured images with valuable location information.

Image Upload :
The app offers a convenient image upload feature that allows users to select images from their

device's local storage.

Leveraging the power of Flutter and its integration with server-side technologies, the app

uploads the selected images to an online database.

This seamless integration enables users to effortlessly sync their chosen images to the

database, enabling further processing and retrieval.


Image Preview from Database :
The app provides users with a

captivating

image preview feature, enabling them to

view stored images from the online

database.

Users can browse through a list of

images and select specific images for

preview.

The integration between the app and the

online database ensures efficient

retrieval and display of images,

enhancing the overall user experience.


Database and hosting :
login details along with the image and its metadata is getting stored in the database that is
hostted online in the server where php script is further used to implement all the sql queries on
the server side to store the data into the the database.
Url of the php scripts on the server side is used in the main flutter file to connect the app to the
database.
Database and hosting :
Key Learnings :
The internship provided me with a wealth of knowledge and hands-on experience in developing

Flutter apps using Android Studio and Dart.

I gained proficiency in utilizing Flutter's rich widget library to create visually appealing user

interfaces.

Working with Dart, I acquired skills in building robust app logic and managing data flow

efficiently.

The internship also provided me with insights into best practices for app development,

including responsive design, state management, and code optimization.


Conclusion :
In conclusion, the app developed during the internship using Flutter, Android Studio, and Dart

represents an ongoing project with tremendous potential for further enhancements and

refinements.

While the current version of the app showcases its core functionalities, it is important to

acknowledge that it remains an incomplete project.

As the development progresses, one of the key focus areas will be the design aspect, ensuring

an aesthetically pleasing and intuitive user interface that enhances the overall user experience.

Additionally, there are plans to incorporate additional features and functionalities based on

user feedback and market research to make the app more comprehensive and valuable.

The project's completion will involve rigorous testing, bug fixing, and optimization to ensure a

stable and high-performing app.

You might also like