Reportt 2
Reportt 2
Introduction
The project “Internship portal for Government of Sikkim” is a digital solution aimed
to migrate the current offline process of internship management process to a digital platform
providing a web-based internship management system which allows students from various
organizations to apply for internship, monitor the internship lifecycle under the Government
of Sikkim. The system is aimed to provide an internship management platform covering
both the aspects i.e., the student or the intern and the internship instructor.
The project consists of three modules based on the user role i.e., Student/Intern, Instructor
and Administrator. The project consists of four services, that is, application service,
internship management service and remarks, certificate service and mail service.
The Student/Intern and Admin module of the project handles the following features of the
project application i.e., application/registration form submission for internship, fetching the
selected internship, assigned project, uploading the project files and data in the designated
folder, request and claim for certification.
1.1.2. Objectives:
• To develop an internship registration service.
• To develop a centralized repository for storing files.
• To develop a role specific dashboard.
1
• To integrate email service to provide updates and important
notifications.
• To automate certificate generation.
1.2. General Overview of the Problem
The current internship management process in the Government of Sikkim relies
entirely on offline methods, leading to significant issues like inefficiency, a lack of a
centralized platform, and communication gaps. The entire process is manual, making it time-
consuming and prone to delays in application processing and approvals. Moreover, there is
no clear platform for uploading and sharing internship files, which complicates the ability of
students to access and work on their projects. This lack of a standardized system may cause
difficulties in monitoring and showcasing of progress at various stages of the internship
cycle. Additionally, the manual certification process requires approvals from multiple levels
of authority, resulting in further delays in receiving completion certificates. Finally, the
absence of timely information, such as email notifications for application submissions, status
updates, project deadlines, or allocation details, may trigger in absence of knowledge about
the internship deadlines.
2
1.4. Literature Survey
Table No 1.4.1: Existing System Survey
SL Portal Name URL Organization Features Limitations Similarities with the proposed
No system
1 MEA Internship Portal [1] https://internship.mea.gov.in/internship Ministry of Official platform providing internship Limited to internships under Government-linked platform with
External Affairs, opportunities under MEA for students MEA; lacks private sector structured internship workflow like
Government of with interest in international opportunities. the proposed portal.
India. diplomacy and governance.
2 Internshala [2] https://internshala.com/student/dashboard Internshala Pvt. Comprehensive portal offering Requires user sign-up; some Includes core features like student
Ltd. internships, online trainings, and listings lack clear selection registration, resume uploads, and
certification programs. Widely used procedures; occasional quality internship search.
by students across India. inconsistency.
3 AICTE Internship Portal [3] https://internship.aicte-india.org All India Council Centralized internship platform for Limited to students enrolled in Education-focused portal with
for Technical engineering/tech students; curated by AICTE-approved institutions; document submission and
Education educational institutes and government interface can be outdated. verification like the proposed
(AICTE) bodies. system.
4 National Career Service https://www.ncs.gov.in Ministry of Labour Provides job/internship listings, career Too broad; lacks targeted Offers government internships, user
(NCS) [4] & Employment, counselling, skill development features specifically for registration, and career tools
Government of programs, and access to government students/interns. relevant to your use-case.
India schemes.
3
1.5. Problem Definition:
• The offline application and approval are time-consuming and prone to delays,
and there are no notifications regarding the updates and deadlines of the
internship project neither application status.
• There is lack of centralized repository to store the projects that have been
developed during the internship by the interns.
• The manual process of certification is time consuming, requires meeting
various authorities for approval.
1
Processing: The passed attributes are stored in temporary database table
until the OTP is verified.
4
2. Project Planning
2.1. Hardware and Software Requirements
2.1.1. Hardware Requirements
Table No 2.1.1.1: Hardware Requirements
Components Development Production
Processor Intel i5 or AMD Ryzen 5 Intel Xeon / AMD
EPYC
RAM 8 GB (min), 16 GB 16 GB (min), 32 GB
(recommended) (recommended)
Storage 256–512 GB SSD 500 GB SSD (NVMe
preferred),
5
2.2. Team Structure
2.3. SDLC
2.3.1. Agile Methodology: As already pointed out, though the iterative waterfall
model has been very popular during the 1970s and 1980s, developers face
several problems while using it on present day software projects. The main
difficulties included handling change requests from customers during product
development, and the unreasonably high cost and time that is incurred while
developing customised applications. Capers Jones carried out research
involving 800 real-life software development projects and concluded that on the
average 40 percent of the requirements arrived after the development has
already begun. In this context, over the last two decade or so, several life cycle
models have been proposed to overcome the important shortcomings of the
waterfall-based models that become conspicuo.us when used in modern
software development projects [5]
6
Agile Methods: Extreme Programming, Scrum, Crystal Methods, Feature
Driven Development, Lean Development, and Dynamic Systems Development
Methodology. [6]
2.3.2. Scrum Framework: Scrum was developed by Jeff Sutherland in 1993, and
its goal is to become a development and management methodology that follows
the principles of Agile methodology. Scrum is an additional responsive
framework of software development for software projects and manage products
or application development. The focus is on "strategy, a flexible holistic
product development where the development team worked as a unit to achieve
common goals" as opposed to "traditional approaches, a sequence". Scrum has a
complex process in which many factors that affect the result. [7]
7
2.4. Gantt chart
Table No: 2.4.1. Gantt chart
Activity 14/01/2025- 26/01/2025- 16/02/2025- 15/03/2025- 13/04/2025- 27/04/2025-
25/01/2025 15/02/2025 15/03/2025 12/04/2025 26/04/2025 12/05/2025
Design
Implementation
Testing and
Integration
Deployment
Documentation
Target
Achieved
8
3. Design strategy for the solution.
3.1. Architecture Diagram
MySQL
Database Server
9
3.2. Use Case Diagram:
10
3.3. Class Diagram:
11
3.4. Sequence Diagram:
12
3.5. Entity Relationship Diagram
13
4. Implementation Details
4.1. Pseudo Codes:
Following are the pseudo codes of some of the important algorithms used in developing the
application:
4.1.1. Pseudo Code for User Registration
Begin
FUNCTION registerUser(RegistrationRequest user)
STORE user in temporaryDatabase
generatedOTP ← generateRandomOTP()
SEND generatedOTP to user.email
RETURN HTTP 201 (ResponseEntity(“User data stored), HTTPStatus.OK)
END FUNCTION
End
4.1.2. Pseudo Code for Validating OTP and User creation
Begin
FUNCTION validateOTP(String email, String userOTP)
storedOTP ← FETCH OTP FROM temporaryDatabase WHERE email =
user
IF storedOTP == userOTP THEN
userData ← FETCH user FROM temporaryDatabase WHERE email =
user
STORE userData in permanentDatabase
DELETE userData FROM temporaryDatabase
RETURN HTTP 200 (ResponseEntity(“User successfully registered”,
HTTPStatus.OK))
ELSE
RETURN HTTP 400 (ResponseEntity(“Invalid OTP”,
HTTPStatus.BAD_REQUEST))
END IF
END FUNCTION
End
14
4.1.3. Pseudo Code for fetching available Internships
Begin
FUNCTION getAvailableInternships(InternshipFilters filters)
internships ← FETCH FROM internshipTable WHERE filters MATCH
RETURN HTTP 200 (ResponseEntity(internships, HTTPStatus.OK))
END FUNCTION
End
4.1.4. Pseudo Code for applying for Internship
Begin
FUNCTION applyForInternship(String email, Long internshipId)
applicationStatus ← STORE (email, internshipId) IN applicationsTable
IF applicationStatus SUCCESS THEN
RETURN HTTP 200 (ResponseEntity(“Application submitted”,
HTTPStatus.OK))
ELSE
RETURN HTTP 500 (ResponseEntity(“Failed to apply”,
HTTPStatus.INTERNAL_SERVER_ERROR))
END IF
END FUNCTION
End
4.1.5. Pseudo code for fetching the assigned Project
Begin
FUNCTION getAssignedProject(String email, Long internshipId)
projectDetails ← FETCH FROM projectTable WHERE email = user AND
internshipId = internshipId
IF projectDetails EXISTS THEN
RETURN HTTP 200 (ResponseEntity(projectDetails, HTTPStatus.OK))
ELSE
RETURN HTTP 404 (ResponseEntity(“No assigned project found”,
HTTPStatus.NOT_FOUND))
END IF
END FUNCTION
End
15
4.1.6. Pseudo code for uploading Project files
Begin
FUNCTION uploadProjectFile(String email, Long internshipId, File file)
filePath ← STORE file IN localFileSystem WITH predefinedFolderPattern
17
5. Results
5.1. Snapshots
Description: This is the landing page of the Internship Portal for Desktop. At the top, there's a
navigation bar that helps users easily move between different sections of the platform.
Description: This is the registration page of the Internship Portal. It allows the user to register to the
system using the fields asked in the form.
18
Fig 5.1.3 OTP Verification Page
Description: This is the OTP validation page of the Internship Portal. It allows the user to validate
the email used for registration.
Description: This is the login page of the Internship Portal. It allows the user to login to the system
using their credentials.
19
Fig 5.1.5 Student Home Page for Desktop
Description: This is the home page of the Internship Portal for Students. It allows the students to
view the active internships and apply filters according to the available departments.
Description: This is the view submitted applications page of the Internship Portal for Students. It
allows the students to view the submitted applications and apply filters according to the available
status.
20
Fig 5.1.7 View Selected Internships for Desktop
This is the view selected internships page of the Internship Portal for Students. It allows the students
to view the submitted applications and apply filters according to the available status.
Fig 5.1.8 View Selected Internships for Desktop after Project Allocation for Desktop
Description: This is the view selected internships page of the Internship Portal for Students after the
allocation of Project. It allows the students to view the allocated projects details by clicking on the
project name.
21
Fig 5.1.9 View Project Details for Desktop
Description: This is the view project details page of the Internship Portal. It allows the students to
view the allocated projects, download project description and upload project data.
Description: This is the view project details page of the Internship Portal. It allows the students to
view the allocated projects, download project description and upload project data. To upload the
project student must select a file with .zip, or .rar extension and after selecting the file user must
click the upload project button to upload the project into the central repository.
22
Fig 5.1.11 Download Certificate after Project Completion for Desktop
Description: This is the view project details page of the Internship Portal for. It allows the students
to download the certificate for an internship which has been marked as complete by the instructor.
Only after the internship is marked as complete, the download button will appear.
Description: This is downloaded certificate. It contains the necessary information regarding the
student, instructor, internship name and internship duration.
23
Fig 5.1.13 Landing Page for Mobile
Description: This is the landing page of the Internship Portal for Mobile. At the top, there's a
navigation menu that helps users easily move between different sections of the platform.
24
Fig 5.1.14 Student Home Page for Mobile
Description: This is the home page of the Internship Portal for Students for Mobile. It allows the
students to view the active internships and apply filters according to the available departments.
25
Fig 5.1.15 View Submitted Applications for Mobile
Description: This is the view submitted applications page of the Internship Portal for Students for
Mobile. It allows the students to view the submitted applications and apply filters according to the
available status.
26
Fig 5.1.16 View Selected Internships for Mobile
Description: This is the view selected internships page of the Internship Portal for Students for
Mobile. It allows the students to view the submitted applications and apply filters according to the
available status.
27
Fig 5.1.17 View Selected Internships for Desktop after Project Allocation for Mobile
Description: This is the view selected internships page of the Internship Portal for Students after the
allocation of Project for Mobile. It allows the students to view the allocated projects details by
clicking on the project name.
28
Fig 5.1.18 View Project Details for Mobile
Description: This is the view project details page of the Internship Portal for Mobile. It allows the
students to view the allocated projects, download project description and upload project data.
29
Fig 5.1.19 Upload Project for Mobile
Description: This is the view project details page of the Internship Portal for Mobile. It allows the
students to view the allocated projects, download project description and upload project data. To
upload the project student must select a file with .zip, or .rar extension and after selecting the file
user must click the upload project button to upload the project into the central repository.
30
Fig 5.1.20 Update Student Profile
Description: This is the update profile page of Internship Portal for Students. It allows the students
to update their personal information in the system which includes name, education, skills, profile
picture, resume etc.
31
Fig 5.1.21 Add New Department for Admin
Description: This is the home page for the admin which displays the total uses, total instructors and
departments present within the system. It allows the admin to add a new department using the above
form which accepts a single parameter which is department name.
Description: This is the home page for the admin which displays the total uses, total instructors and
departments present within the system. It allows the admin to add a new instructor using the above
form which accepts an instructor name, email, contact information, and department name from the
list of the existing departments.
32
Fig 5.1.23 Update Profile for Admin
Description: This is the update profile page of Internship Portal for Admin. It allows the admin to
update their personal information in the system which includes name, email address and phone
number.
Description: This is the forget password page of Internship Portal for all categories of Users. It
allows the users to find the account associated with a particular email address. If the account exists
then only the Claim Account button appears, upon clicking the button an OTP is sent to the given
email address.
33
Fig 5.1.25 Account Claim using OTP for All Users
Description: This is the OTP validation for forget password page of Internship Portal for all
categories of Users. The OTP input accepts a 6-digit numeric OTP and validates it against the OTP
stored in the database associated with the user email.
Fig 5.1.26 Password Reset after Claiming account using OTP for All Users
Description: This is the password reset for forget password page of Internship Portal for all
categories of Users. The OTP entered by the user is validated against the OTP stored for the user
email. If the OTP matches, then only the user is prompted to enter the new password for the account.
Upon clicking the Reset button, the password is changed for the account associated with the email
address.
34
6. Summary and Conclusion
6.1. Progress summary:
• User registration and Login: Successfully implemented the user registration and
login process, which includes email verification using OTP.
• Fetching internships: Completed the successful fetching of internships having
status as active.
• Applying for internship: Successfully implemented the internship application
feature, enabling students to apply for internships they have not previously
applied for.
• Fetching selected internships: Successfully implemented fetching the internships
where the student has been selected with the internships details and assigned
project.
• Project upload: Successfully implemented one time upload of project associated
with a particular internship on central repository.
• Certificate claim: Successfully implemented the functionality to claim for the
certificate of an internship where all the projects are uploaded, and the project is
marked as complete by Instructor.
• Update profile: Successfully implemented the functionality to update user details.
• Admin panel: Successfully developed admin panel to fetch all users, students and
instructors. Completed the functionality to add new departments and users.
6.2. Conclusion
In conclusion, the student/admin modules of Internship portal for Government of
Sikkim tends to migrate the current offline process of internship application, managing
internship reports and datum, storing the projects on a dedicated centralized repository and
issuing of certificates of completion that allows the students doing internship under
Department of Information Technology, Government of Sikkim and the administrator of the
system of Department of Information Technology, Government of Sikkim to efficiently
monitor and manage the internship cycle. It also mitigates the physical involvement of
students in the process of the internship by providing a web-based solution to perform the
operations within the application.
35
References
[1] M. o. E. A. Affairs, “Internship Portal,” Ministry of External Affairs, Government of India, 2024.
[Online]. Available: https://internship.mea.gov.in/internship. [Accessed 14 April 2025].
[2] I. P. Ltd., “Internshala Student Dashboard,” Internshala Pvt. Ltd., 2024. [Online]. Available:
https://internshala.com/student/dashboard. [Accessed 14 April 2025].
[4] M. o. L. &. Employment, “ National Career Service (NCS),” Government of India, 2024. [Online].
Available: https://www.ncs.gov.in. [Accessed 14 April 2025].
[5] R. Mall, in Fundamentals of Software Engineering, PHI Learning Private Limited, 2014, pp. 105-
114.
[6] M. L. P. C. David Cohen, in Agile Software Development:A DACS State-of-the-Art Report, Data
and Analysis Center for Software, 2003, pp. 11-15.
[8] E. Altynpara, “What Is Agile Model in SDLC: The Guide on Software Development
Methodology,” Cleveroad, 18 January 2024. [Online]. Available:
https://www.cleveroad.com/blog/agile-sdlc/. [Accessed 22 January 2025].
[9] P. Software, “Spring Boot Reference Documentation,” Spring.io, 2024. [Online]. Available:
https://docs.spring.io/spring-boot/. [Accessed 14 April 2025].
[12] O. Corporation, “MySQL 8.0 Reference Manual,” dev.mysql.com, 2023. [Online]. Available:
https://dev.mysql.com/doc/refman/8.0/en/. [Accessed 14 April 2025].
36