Nishanth Internship Report
Nishanth Internship Report
INTERNSHIP REPORT ON
“PORTFOLIO MANAGER”
Submitted in partial fulfillment of the requirements for the award of degree of
BACHELOR OF ENGINEERING
In
COMPUTER SCIENCE AND ENGINEERING
Submitted By
Nishanth Y
(1BY20CS126)
2023-2024
VISVESWARAYA TECHNOLOGICAL UNIVERSITY
Jnana Sangama, Belagavi-590018
CERTIFICATE
Signature of the External Guide Signature of the Guide Signature of the HOD
Mr. Guruprasad Y K Dr. Mahesh G Dr. Thippeswamy G
Technical Advisor Associate Professor Professor & Head
Parheeksha Business Plugger Department of CSE Department of CSE
BMSIT & M BMSIT & M
1.
2.
DECLARATION
Nishanth Y
USN: 1BY20CS126
ACKNOWLEDGEMENT
I am happy to present this report of the internship program. This Program would
not have been possible without the guidance, assistance, and suggestions of many
individuals. I would like to express my deep sense of gratitude and indebtedness to each
and every one who has helped during my internship program.
Finally, I would like to thank my parents, friends and all those who are involved in
successful completion of internship program.
Nishanth Y
(1BY20CS126)
Company Letter
ABSTRACT
The "Portfolio Manager" project aims to develop a comprehensive platform using the MERN
(MongoDB, Express.js, React.js, Node.js) stack, enabling users to manage their portfolios
effectively. Users can edit their personal details, incorporate images for personalization, and
access a visually appealing interface for portfolio management.
The project faced challenges such as seamlessly integrating image uploading functionality
within the MERN architecture and implementing robust user authentication and
authorization using JSON Web Tokens (JWT). These challenges were overcome through
extensive research, leveraging libraries like Multer and Cloudinary, and implementing
secure authentication solutions.
The project leveraged RESTful APIs to facilitate communication between client-side and
server-side components, ensuring efficient data retrieval, manipulation, and storage.
MongoDB Cloud provided easy access to data through a connect URL.
Under the guidance of an experienced supervisor, the project fostered valuable learning
experiences in full-stack web development, enhancing proficiency in React.js, Node.js,
Express.js, MongoDB, user authentication, file handling, and RESTful API implementation.
Collaboration within a team environment fostered communication and project management
skills.
CHAPTER 1
ABOUT THE COMPANY
1.2 OVERVIEW
CHAPTER 2
ABOUT THE DEPARTMENT
2.3.1 PLANNING
In addition to organizing itself, one of the first steps in the development is to obtain a
thorough understanding of the task at hand. They need to understand the project objectives,
the specifications/customer requirements, design targets, cost, and schedule. This
information should be provided to the team(s) by the program manager or management team,
and the team(s) must thoroughly review these requirements.
2.4.2 DESIGN
In this phase the system and software design is prepared from the requirement
specifications which were studied in the first phase. System Design helps in specifying
hardware and system requirements and also helps in defining overall system
architecture. The system design specifications serve as input for the next phase of the
model.
2.4.3 IMPLEMENTATION
On receiving system design documents, the work is divided in modules/units and actual
coding is started. Since, in this phase the code is produced so it is the main focus for the
developer. This is the longest phase of the software development life cycle.
2.4.4 TESTING
After the code is developed it is tested against the requirements to make sure that the
product is actually solving the needs addressed and gathered during the requirements
phase.
CHAPTER 3
By leveraging the advantages of the MERN stack, developers can build robust, scalable, and
high-performance web applications while benefiting from a consistent development
experience, a rich ecosystem, and a vibrant community of contributors.
Software Requirements
Hardware Requirements
The system follows a client-server architecture, where the client-side is built with React.js,
and the server-side is powered by Node.js and Express.js. MongoDB is used as the database
for storing user data and portfolio information.
Client-side (React.js):
• The user interface (UI) is developed using React.js, providing a responsive and
interactive experience for users to manage their portfolios.
• React components are organized into reusable and modular structures, promoting
code reusability and maintainability.
• React Router is used for client-side routing, enabling seamless navigation between
different views and pages of the application.
• State management is handled using React's built-in state management or a third-
party library like Redux or Context API, depending on the project's complexity.
• Axios or another HTTP client library is used to communicate with the server-side
API endpoints for data fetching and updating.
3.5 SCREENSHOTS
CHAPTER 4
SPECIFIC OUTCOMES
I got the practical knowledge of the advanced JavaScript (HTML, CSS) concepts. I
underwent advanced Database work training session for Four weeks, which has increased
the depth of practical knowledge. Periodical interaction with the manager was carried out so
as to provide updates on the work that was done by me.
The assigned tasks were completed on time. During the internship training I learnt about new
Technologies used and how to use in projects. Some of the them are:
4.1.1. Full-stack Web Development: The project provided hands-on experience in full-
stack web development using the MERN (MongoDB, Express.js, React.js, Node.js) stack.
Developers gained proficiency in building end-to-end web applications, integrating front-
end and back-end components.
4.1.2. User Authentication and Authorization: Implementing secure user authentication
and authorization mechanisms using JSON Web Tokens (JWT) and role-based access
control (RBAC) was a significant technical outcome. Developers learned best practices for
protecting user data and managing access permissions.
4.1.3. File Handling and Image Management: The project involved incorporating image
uploading functionality, which required expertise in file handling and image management.
Developers leveraged libraries like Multer and Cloudinary to handle file uploads and storage
efficiently.
4.1.4. RESTful API Development: Building RESTful APIs using Express.js was a crucial
technical outcome. Developers learned how to design and implement API endpoints for data
retrieval, manipulation, and communication between client and server components.
4.1.5. Database Management: Working with MongoDB, a NoSQL database, allowed
developers to gain experience in data modeling, querying, and managing unstructured data
effectively.
4.1.6. Front-end Development with React.js: Developing the user interface using React.js
provided exposure to modern front-end development techniques, such as component-based
architecture, state management, and client-side routing
The Internship program helped me in gaining self-confidence over the technical language
and also the communication on how to interact with the teammates. The project coordinators
were so helpful in teaching. This made me learn many things easily and effectively.
4.2.1. Problem-Solving and Critical Thinking: Overcoming challenges during the
development process fostered problem-solving and critical thinking skills. Developers
learned to analyze requirements, identify potential issues, and devise effective solutions.
4.2.2. Collaboration and Teamwork: Working in a team environment promoted
collaboration and teamwork skills. Developers learned to communicate effectively,
coordinate tasks, and leverage each other's strengths to achieve project goals.
4.2.3. Time Management and Project Planning: Adhering to project timelines and
managing tasks effectively required developers to enhance their time management and
project planning abilities.
4.2.4. Communication and Presentation Skills: Presenting the project, its objectives, and
learning outcomes helped developers improve their communication and presentation skills,
which are crucial in professional settings.
4.2.5. Adaptability and Continuous Learning: Encountering new technologies, tools,
and methodologies during the project encouraged adaptability and a mindset of continuous
learning, which are essential for staying relevant in the ever-evolving software industry.
4.2.6. Professional Growth and Confidence: Successfully completing the project and
overcoming challenges boosted developers' confidence and professional growth. They
gained a sense of accomplishment and readiness to take on more complex projects in the
future.
The "Portfolio Manager" project, developed using the MERN (MongoDB, Express.js,
React.js, Node.js) stack, has been a significant milestone in the journey of full-stack web
development. It has provided a comprehensive platform for users to effectively manage their
portfolios, allowing them to edit their personal details and incorporate images for
personalization.
The project leveraged the strengths of the MERN stack, enabling efficient data retrieval,
manipulation, and storage through RESTful APIs and MongoDB. The client-side user
interface, built with React.js, offered a visually appealing and user-friendly experience for
portfolio management.
Beyond the technical aspects, the project fostered valuable learning experiences in full-stack
web development, enhancing proficiency in React.js, Node.js, Express.js, MongoDB, user
authentication, file handling, and RESTful API implementation. Collaboration within a team
environment cultivated important soft skills such as communication, project management,
and problem-solving.
Looking ahead, the knowledge and skills acquired during the "Portfolio Manager" project
will serve as a solid foundation for future endeavors in software development. The
experience gained in overcoming challenges, leveraging technologies, and adhering to
industry standards will be invaluable in tackling more complex projects.
REFERENCE
[1] "Getting MEAN with Mongo, Express, Angular, and Node" by Simon Holmes and
Clive Harfield (Book)
[2] "React Quickly" by Azat Mardan (Book)
[3] https://www.mongodb.com/docs/manual/ (MongoDB Documentation)
[4] https://expressjs.com/en/guide/routing.html (Express.js Routing Guide)
[5] https://reactjs.org/docs/getting-started.html (React.js Documentation)
[6] https://nodejs.org/en/docs/ (Node.js Documentation)
[7] https://jwt.io/introduction (JSON Web Tokens Introduction)
[8] https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
(Fetch API Documentation)
[9] https://redux.js.org/introduction/getting-started (Redux Getting Started Guide)
[10] https://www.smashingmagazine.com/2021/08/mern-stack-react-router-guides/
(MERN Stack with React Router Guides)
[11] Pro MERN Stack" by Vasan Subramanian (Book)
[12] "Full Stack React Projects" by Shama Hoque (Book)
[13] https://www.freecodecamp.org/news/mern-stack-react-node-tutorial/ (MERN Stack
Tutorial on FreeCodeCamp)
[14] https://www.smashingmagazine.com/2020/04/mern-stack-react-serverless-intro/
(MERN Stack with Serverless Introduction)
[15] https://github.com/gothinkster/react-redux-realworld-example-app (Real-World React
Redux Example App)
[16] https://www.pluralsight.com/courses/react-redux-react-router-es6 (Pluralsight Course
on React, Redux, and React Router)
[17] https://www.mongodb.com/developer/article/mongodb-schema-design-best-
practices/ (MongoDB Schema Design Best Practices)