Page | 0
JB INSTITUTE OF TECHNOLOGY
DEHRADUN
Department of Computer Science and Engineering
INTERNSHIP / MINI PROJECT REPORT ON
“Java Development – Building Real-World Applications”
Submitted By:-
Name : Manish Kumar
Course : [Link] Cse 3rd Year
Roll no : 740530101005
Academic Year: 2025–2026
Submitted To :-
Mr. Jahanvi Negi (Assistant Professor) Dept. of CSE
Mr. Manoj Kumar Chaudhary (HOD) Dept. of CSE
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 1
CERTIFICATE
This is to certify that Manish Kumar, a student of Computer Science & Engineering, has successfully
completed a one-month internship at Oasis Infobyte, from 1 August 2025 to 31 August 2025, as part of
the partial fulfillment of the [Link] Degree requirements.
During this internship, Manish developed Java-based projects including a Number Guessing Game
and an ATM Interface.
He has demonstrated outstanding dedication, discipline, technical curiosity, and a strong learning
attitude throughout the internship.
Authorized Signatory
Oasis Infobyte
(Seal & Signature)
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 2
ACKNOWLEDGEMENT
I, Manish Kumar, take this opportunity to express my deepest gratitude to Oasis Infobyte for providing me
with the valuable opportunity to undertake a virtual internship in the field of Java Development. This
internship has been an immensely enriching experience that has greatly strengthened my technical skills in
Core Java, Object-Oriented Programming, problem-solving, and Version Control using Git &
GitHub.
I am sincerely thankful to the entire Oasis Infobyte team for designing a well-structured internship program
that bridges the gap between academic learning and industrial application. The tasks and projects assigned
during the internship enabled me to apply theoretical concepts to real-world scenarios, thereby enhancing
my practical understanding of software development. Their guidance, learning resources, and project-
oriented approach helped me gain confidence in writing clean, modular, and efficient Java code.
I would also like to extend my heartfelt appreciation to Ms. Jahanvi Negi, Assistant Professor, Department
of Computer Science & Engineering, JB Institute of Technology, for her continuous encouragement and
support. I am grateful to the Department of Computer Science & Engineering for motivating students to
participate in industry-oriented programs that improve our technical exposure, professionalism, and
employability skills.
I am deeply thankful to all my faculty members for providing the academic foundation necessary to
understand and implement programming concepts effectively during this internship. Their teachings played
an important role in helping me develop the logic, structure, and discipline required for successful project
development.
My sincere thanks also go to my classmates and friends, who supported me through discussions, idea
sharing, and consistent motivation throughout this journey. Their cooperation made the learning process
more enjoyable and collaborative.
Lastly, I express profound gratitude to my family for their unconditional support, encouragement, and belief
in my abilities. Their constant motivation throughout the completion of my internship projects played a
crucial role in keeping me focused and determined.
This internship experience has not only enhanced my technical knowledge but has also contributed
significantly to my personal and professional growth. I am truly grateful to everyone who supported me
directly or indirectly during this learning journey.
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 3
ABSTRACT
This project report presents the work undertaken during my Java Development Internship at Oasis
Infobyte. The primary objective of this internship was to apply Java programming skills in a practical,
project-based environment.
The internship focused on building real-world applications from scratch, understanding the development
lifecycle, and mastering tools like Visual Studio Code and GitHub.
Two major projects were developed:
1. Number Guessing Game: A logic-based application using loops and random number generation.
2. ATM Interface: A complex console-based system managing user accounts, transactions, and
banking operations.
This report details the technologies used, the logic implemented, and the professional skills gained, such as
building a portfolio on LinkedIn and managing repositories.
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 4
TABLE OF CONTENTS
S. No Title Pag
e
No
1. Introduction 5
2. Company Profile (Oasis Infobyte) 6
3. Internship Objectives 7
4. Internship Overview 8
5. Project Overview 9-10
6. System Requirements 11
7. Technology Stack 12-
13
8. Project 1: Number Guessing Game 14-16
9. Project 2: ATM Interface 17-19
10. Key Learnings (GitHub & LinkedIn) 20
11. Conclusion 21
12. References 22
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 5
INTRODUCTION
Java is a high-level, class-based, object-oriented programming language that has become one of the most
widely used technologies in the software industry. Designed with the philosophy of “Write Once, Run
Anywhere” (WORA), Java enables developers to create applications that can run seamlessly across different
platforms without requiring any significant modifications. Its strong emphasis on portability, reliability, and
security makes it a preferred choice for building enterprise-grade software, mobile applications, web
services, and standalone systems.
During this internship, the primary focus was on understanding and applying the fundamental concepts of
Java to develop functional and interactive console-based applications. The use of the Java Development
Kit (JDK) allowed hands-on experience with compiling, executing, and debugging Java programs in a real-
world environment. Rather than limiting learning to classroom-level theory and syntax, the internship
emphasized practical implementation—transforming logical ideas into working programs using object-
oriented principles.
The tasks assigned throughout the internship encouraged the use of core Java features such as classes,
objects, methods, constructors, file handling, exception handling, and user input handling. By working on
structured mini-projects, the internship provided an excellent opportunity to explore the modular
development approach, understand program flow, apply problem-solving techniques, and implement
reusable code components.
Additionally, developing console-based applications helped in strengthening logical thinking and
understanding how Java interacts with users through command-line interfaces. It improved the ability to
design interactive systems, validate user inputs, handle errors gracefully, and present meaningful outputs to
the user. The internship experience served as a bridge between theoretical learning and practical software
development, offering valuable insights into how Java can be used to build scalable and efficient
applications.
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 6
COMPANY PROFILE
Oasis Infobyte is a well-recognized virtual internship platform committed to bridging the gap between
academic learning and real-world industry requirements. The organization focuses on empowering students
by providing them with practical exposure, industry-relevant projects, and opportunities to apply theoretical
concepts in a hands-on environment. Through its structured internship programs, Oasis Infobyte ensures that
students develop not only technical skills but also confidence, discipline, and problem-solving abilities.
The company offers internships across several in-demand technology domains, including:
Java Development – focusing on core Java concepts, OOP principles, and console- or GUI-based
application development.
Web Development – covering HTML, CSS, JavaScript, frontend frameworks, and real-time website
creation.
Data Science – emphasizing Python programming, data analysis, machine learning techniques, and
visualization tools.
By providing clearly defined tasks, real-world projects, and professional guidance, Oasis Infobyte ensures
that interns gain meaningful industry exposure. The virtual nature of the internship allows students to learn
at their own pace, revise concepts whenever necessary, and experiment with code without pressure.
The overall environment at Oasis Infobyte promotes self-directed learning, creativity, and independent
thinking. Interns are encouraged to explore new technologies, apply logical reasoning to solve problems, and
build projects that reflect their technical capabilities. This approach not only strengthens foundational
knowledge but also prepares students for future roles in the software and IT industry.
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 7
INTERNSHIP OBJECTIVES
The primary goal of the internship was to apply and strengthen Java programming skills in a practical,
project-oriented environment. Rather than focusing solely on theoretical concepts, the internship emphasized
real-world application, structured development, and hands-on problem-solving. The specific objectives of
the internship were as follows:
[Link]-worldDevelopment
A key objective was to develop complete Java applications from the ground up. This included writing clean
and modular code, implementing logical workflows, processing user inputs, and handling outputs
effectively. By working on real-world tasks, the internship provided exposure to common development
challenges and helped build the ability to translate conceptual ideas into functioning software.
[Link]
Another major goal was to gain a clear understanding of the software development lifecycle for small-scale
projects. This involved several important steps such as:
requirement analysis
designing the program structure
writing and testing code
debugging
optimizing performance
Understanding these stages allowed for better planning and more systematic development, which is
crucial for larger, real-world software projects.
[Link]
The internship also aimed to strengthen the use of Git and GitHub for version control. Learning how to
maintain code history, create repositories, commit changes, and push updates not only improved project
management skills but also prepared for collaborative development environments commonly used in the
software industry.
[Link]
One of the long-term objectives was to build a professional portfolio showcasing completed Java projects.
These projects serve as evidence of technical competence and practical experience, enabling future
employers or recruiters to evaluate problem-solving ability, coding style, and project-building capability.
Creating a public portfolio is an essential step for career opportunities, internships, and placements in the IT
sector.
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 8
INTERNSHIP OVERVIEW
The internship at Oasis Infobyte, conducted virtually, provided me with a valuable opportunity to
gain practical knowledge and industry-oriented exposure in the field of Java Development. During
this internship period, I worked on real-world tasks that helped me strengthen my understanding of
Core Java, logical problem-solving, and the development of console-based applications.
The experience enabled me to transition from theoretical learning to hands-on implementation of
Java concepts.
The internship followed a task-based and project-focused structure, where I was assigned Java
development projects that required planning, writing code, testing, debugging, and refining program
logic. Each task allowed me to explore Java features more deeply and apply them in building
functional and interactive applications, which ultimately contributed to the successful completion of
my internship project portfolio.
Throughout the internship, I worked on various aspects of Java development, including:
Understanding the fundamentals of Core Java and object-oriented programming
Writing modular and reusable code using classes, objects, and methods
Implementing loops, conditionals, arrays, constructors, and exception handling
Developing console-based interactive programs
Applying file handling techniques for storing and retrieving data
Using Git & GitHub for version control and repository management
The mentors and learning resources provided by Oasis Infobyte guided me throughout the
assignments. Their structured tasks and clear instructions helped me improve my coding standards,
understand project requirements, and follow good software development practices. This guidance
enabled me to confidently apply concepts like modular coding, logical thinking, and user interaction
handling.
In addition to technical skills, the internship also helped me develop important professional
competencies such as time management, clear documentation, structured problem-solving, and
debugging techniques. I also gained exposure to industry-relevant practices such as writing clean
code, managing project files, and handling iterative development cycles.
Overall, the internship at Oasis Infobyte proved to be a productive and enriching experience. It
allowed me to apply theoretical Java concepts in a practical environment and significantly enhanced
my ability to develop complete Java applications. The learning experience has strengthened my
foundation in programming and motivated me to continue exploring more advanced areas in software
development.
Manish Kumar [Link] CSE 3rd Year 740530101005
Page | 9
PROJECT OVERVIEW
During my internship at Oasis Infobyte, I worked on multiple Java-based projects that helped me strengthen
my understanding of programming principles, problem-solving, and console-based application development.
The internship followed a project-driven structure, enabling me to apply theoretical concepts in a hands-on
environment and develop real-world applications using Core Java.
The main objective of the project work was to build functional, interactive console applications using the
Java Development Kit (JDK). These projects required implementing essential Java features such as
classes, objects, loops, conditionals, methods, constructors, arrays, file handling, and basic implementation
of object-oriented concepts. Through these tasks, I gained clarity about logical program flow, modular
coding, and user interaction through the command-line interface.
Major Projects Completed
1. ATM Interface System
The ATM Interface System was a Java console application designed to simulate basic ATM functionalities.
The system allowed users to:
Check account balance
Deposit money
Withdraw money
Exit the session
This project helped me understand user authentication, input validation, and transaction handling in a
programmatic environment. It required the use of key Java concepts such as:
Conditional statements (if-else)
Looping constructs
Methods for modular operations
Variables and arithmetic operations
Error handling for invalid inputs
The project improved my ability to structure logical operations and handle different user scenarios while
ensuring smooth program execution.
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 10
2. Number Guessing Game
The Number Guessing Game was another interactive console-based application developed during the
internship. The program generates a random number and challenges the user to guess it within a fixed
number of attempts. Feedback is given after each guess to guide the user.
This project helped reinforce important programming concepts such as:
Looping and iteration
Random number generation using [Link]()
Conditional logic
User input handling
Basic algorithmic thinking
The game-based structure made the learning process engaging and improved my understanding of logical
control and program flow.
Skills Gained Through Project Work
Working on these projects enabled me to develop several essential skills, including:
Writing efficient and modular Java code
Implementing Object-Oriented Programming principles
Understanding program design and workflow structure
Handling user inputs and performing validations
Debugging runtime errors and improving code quality
Using Git & GitHub for maintaining project versions
Translating real-world tasks into functional Java applications
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 11
SYSTEM REQUIREMENTS
To develop and run the Java-based console applications created during the internship—such as the ATM
Interface System and the Number Guessing Game—the following software and hardware requirements
were necessary. These requirements ensured smooth program execution, efficient development, and proper
testing of the applications.
Software Requirements
Windows / Linux / macOS
Any operating system capable of running Java programs.
Java Development Kit (JDK 8 or above)
Required for compiling and executing Java applications.
Integrated Development Environment (IDE)
Such as:
o Visual Studio Code
o IntelliJ IDEA
o Eclipse
These IDEs help in writing, organizing, and debugging Java code.
Java Compiler (javac)
Used for converting Java source code into bytecode.
Java Runtime Environment (JRE)
Required for executing compiled Java applications.
Git & GitHub
Used for version control, code backup, and maintaining project repositories.
Command-Line Interface (CMD / Terminal)
Used for executing Java programs and testing console-based interactions.
Hardware Requirements
Minimum 4–8 GB RAM
Sufficient memory to run IDEs and Java applications smoothly.
Dual-core processor or higher
Ensures efficient code compilation and execution speed.
At least 2 GB free storage
For storing project files, Java installations, and documentation.
Stable internet connection
For downloading JDK, IDE plugins, GitHub operations, and online resources.
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 12
TECHNOLOGY STACK
1. Programming Language
Java (JDK 8 or above)
The primary programming language used for writing, compiling, and running all console-based
applications.
Java offered essential features such as:
o Object-Oriented Programming
o Platform independence
o Robust error handling
o Built-in libraries for user input, random number generation, and basic computations
2. Development Environment / IDE
Visual Studio Code
Used as the main code editor for writing, debugging, and organizing Java files.
Java Extensions for VS Code
o Java Development Tools
o Debugger for Java
These tools enhanced productivity by offering syntax highlighting, debugging support, and easy navigation
between files.
3. Java Runtime & Compiler Tools
Java Compiler (javac)
Used to compile .java files into bytecode.
Java Runtime Environment (JRE)
Required for executing compiled Java applications.
Command Line Interface (CMD / Terminal)
Used to run Java programs, test functionalities, and interact with console-based applications.
4. Core Java Technologies Used
Object-Oriented Programming (OOP)
Applied concepts such as:
o Classes & Objects
o Methods
o Encapsulation
o Constructors
Control Structures
o if–else statements
o switch-case
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 13
o Scanner class for user input
o [Link]() for generating random numbers
o Arrays for storing data
o Basic exception handling
5. Development & Testing Tools
Git & GitHub
Used for version control, maintaining project history, and hosting project repositories.
VS Code Terminal
Used for compiling and executing Java files.
Manual Testing
Performed by providing different inputs to verify program accuracy and reliability.
6. Data & Communication Formats
Since the internship projects were simple console applications, the communication format was minimal:
Text-based user interaction
Input and output operations were handled entirely through the console.
Java Standard Library Functions
Used for processing and managing data within the application.
7. External Libraries / Dependencies
The projects did not require third-party libraries. All functionalities were built using:
Java Standard Library
Includes essential packages (e.g., [Link], [Link], [Link]) used for input handling, random
number generation, and core computations.
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 14
PROJECT 1: NUMBER GUESSING GAME
The Number Guessing Game is an interactive and engaging Java console application developed as part of
the internship. The goal of this project is to generate a random number and allow the user to guess it within a
limited number of attempts. This project helps strengthen logical reasoning, control flow understanding, and
user interaction handling in Java. It also demonstrates the use of essential programming concepts such as
loops, conditional statements, and input validation.
Logic & Implementation
The project follows a simple yet structured workflow to ensure smooth execution and user-friendly
interaction. The core implementation includes the following steps:
1. Random Number Generation
The system generates a random number within a defined range (such as 1 to 100) using either:
[Link] class, or
[Link]() function
This random value becomes the target number the user must guess.
2. User Input Handling
The user is prompted to enter their guess through the console. Input is captured using the Scanner class. The
application ensures that inputs are valid integers and provides feedback accordingly.
3. Number Comparison Logic
Once the user enters a number, the application compares it with the system-generated random value. The
system provides directional hints such as:
“Too high” – if the guessed number is greater than the target
“Too low” – if the guessed number is smaller
This feedback guides the user toward the correct answer.
4. Looping Mechanism
A loop controls the game flow, repeatedly allowing the user to guess until either:
the correct number is guessed, or
the user runs out of attempts
This structure demonstrates the use of while loops and conditional branching in Java.
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 15
SOURCE CODE
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 16
OUTPUT
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 17
PROJECT 2: ATM Interface
The ATM Interface is a robust and functional Java console application designed to simulate the essential
operations of a real-world Automated Teller Machine. The goal of this project is to create a secure system
where users can manage their bank account through a menu-driven interface. This project focuses heavily on
Object-Oriented Programming (OOP) principles, specifically encapsulation and class interactions, while
also reinforcing concepts of variable management, method calls, and user input validation.
Logic & Implementation
The project replicates the workflow of a banking system, ensuring that transaction logic is handled
accurately and securely. The core implementation includes the following steps:
1. Class Structure & Object Design The application is built using a modular approach with separate
classes to handle distinct responsibilities:
BankAccount Class: Stores the user’s financial data, such as the current balance, and contains
methods to modify this data safely.
ATM Class: Manages the user interface, prompting the user for input and calling the appropriate
methods from the BankAccount class. This separation demonstrates the OOP principle of
Encapsulation.
2. User Authentication Before accessing account features, the system implements a basic security check.
The user may be required to enter a User ID or PIN. The system compares this input against stored
credentials; if the input is incorrect, access is denied. This highlights the importance of conditional logic in
security.
3. Transaction Processing Once logged in, the user interacts with a menu (using a switch-case structure) to
perform specific operations:
Deposit: The system accepts a positive integer and adds it to the current balance.
Withdraw: The system checks if the requested amount is less than or equal to the current balance. If
valid, the amount is deducted; otherwise, an "Insufficient Balance" message is displayed.
Check Balance: Displays the current available funds in the account.
4. Input Validation & Loop Control The application uses a while loop to keep the menu active, allowing
the user to perform multiple transactions in a single session until they explicitly choose to "Exit."
Additionally, the system validates inputs to ensure users cannot withdraw negative amounts or enter invalid
data types, ensuring the program does not crash during execution.
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 18
SOURCE CODE
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 19
OUTPUT
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 20
KEY LEARNINGS(Github)
1. GitHub (Version Control)
Beyond Java programming, an important aspect of the internship was understanding and using GitHub, a
widely adopted platform for version control and project management. Learning Git and GitHub helped me
develop essential skills required in modern software development environments, where collaboration,
tracking changes, and maintaining clean project histories are crucial.
Version Control Awareness
During the internship, I gained a clear understanding of why version control is an essential component of
software development. I learned how Git enables developers to keep track of code changes, revert to
previous versions if needed, and maintain multiple versions of a project without confusion. This helped me
appreciate the importance of organized and systematic development practices.
Repository Creation & Management
I learned how to create and manage repositories for each of my internship projects. This included:
Initializing new repositories
Pushing local project files to GitHub
Managing branches
Updating code changes regularly
Creating separate repositories for each project allowed me to maintain a well-structured project portfolio and
showcase my work to potential employers.
Hands-on Experience With Git Commands
Throughout the internship, I practiced several essential Git commands that are used daily in real-world
development workflows. These include:
git add – staging modified or new files
git commit – saving changes with meaningful messages
git push – uploading local commits to GitHub
Using these commands helped me maintain a clean version history and track the development progress of
my Java applications effectively.
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 21
KEY LEARNINGS(Github)
[Link] (Professional Presence & Networking)
In addition to technical development, the internship encouraged enhancing professional visibility and
building an online presence. LinkedIn served as an important platform for showcasing my work, connecting
with industry experts, and strengthening my professional identity.
Project Showcase
As part of developing my professional portfolio, I uploaded both completed Java projects—ATM Interface
System and Number Guessing Game—to my LinkedIn profile. This allowed me to publicly demonstrate
the skills I gained throughout the internship and provided potential recruiters with a clear view of my
practical experience and coding capabilities. Highlighting these projects improved the quality of my profile
and added meaningful content that reflects my learning progress.
Networking and Connections
During the internship, I began connecting with software developers, Java programmers, technology
enthusiasts, and industry professionals on LinkedIn. Building this network helped me gain exposure to
development trends, internship opportunities, and career guidance from experienced individuals. Meaningful
connection-building also broadened my understanding of the software industry and encouraged continuous
learning.
Skill Endorsement and Profile Enhancement
I updated my LinkedIn profile by adding new skills acquired during the internship, such as:
Core Java
Object-Oriented Programming
Git & GitHub
Console-based application development
By doing so, I strengthened my professional portfolio and made my profile more appealing to future
employers. Skill endorsements from peers and mentors further validated my abilities and contributed to a
more credible profile.
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 22
CONCLUSION
The internship at Oasis Infobyte proved to be a highly productive and enriching experience. It
provided me with the opportunity to move beyond theoretical Java concepts and apply them in
building fully functional console-based applications such as the ATM Interface System and the
Number Guessing Game. Working on these projects enabled me to understand how real-world
programs are structured, how input/output operations work, and how to translate logical thinking into
executable code.
Throughout the internship, I successfully achieved the learning objectives by:
Writing clean, modular, and well-structured Java code that follows good programming practices.
Debugging logical and runtime errors through systematic analysis and iterative testing.
Using Git and GitHub effectively to manage versions, maintain repositories, and document
progress.
Presenting my work professionally, including maintaining a project portfolio and updating my
LinkedIn profile.
The internship strengthened my understanding of Object-Oriented Programming (OOP) principles such
as classes, objects, methods, encapsulation, and constructors. It also enhanced my confidence in handling
user interactions, designing program flow, and solving programming challenges independently.
Overall, this experience has prepared me for future opportunities in software development by giving me
practical exposure to real-world coding practices, version control tools, and project documentation. It has
built a strong foundation that will support my continued growth in Java programming and other advanced
technologies.
Manish Kumar [Link] CSE 3rd Year 740530101005
P a g e | 23
REFERENCES
GitHub. (n.d.). Git Guides. Retrieved December 6, 2025, from [Link]
Oasis Infobyte. (n.d.). Home. Retrieved December 6, 2025, from [Link]
Oracle.(n.d.). Java SE Documentation. Retrieved December 6, 2025, from
[Link]
Verma, M. [Manishverma2003]. (2025). Internship Projects [Source code]. GitHub.
[Link]
Manish Kumar [Link] CSE 3rd Year 740530101005