INTERNSHIP, SUMMER 2021

MY FIRST INTERNSHIP  - SUMMER,2021



Introduction

This blog is about my experience being a summer intern for the very first time. I interned as a Web Developer at Crown Software. The main objective of the internship was to get to know how projects are being developed in teams and get actual experience working in one. And I can say I have accomplished my objective and have learned a lot during my 6 weeks of internship.

What project did I get to work on?

When I had joined the internship the team was just getting started on a project called DigiHost, which is an end-to-end solution for hostels managing every aspect of the hostel business from students to managers to a counselor, from booking a room for some days to manage payments.

Tech-Stack

The primary tech stack for the projects was pretty simple comprising of HTML, CSS, Bootstrap for the frontend portion, Javascript for the backend, and other various packages were being used as per the problems and the requirements at a particular time.
For the database portion, we used Firebase for the entire project and APIs written in JavaScript.

What was my role & responsibility during the internship?

I was a Web developer and my responsibility was to design web pages and implement those designs and get them integrated into the entire project and also look out for potential bugs and flaws in the modules that were assigned to me. As I was working with the team I had to collaborate with other team members and accomplish the task assigned and get the project in shape and working.

What did I build?

During the course of the internship, I had many modules on my plate. 

1. Authentication Module

One of the first modules that I had to work on was an authentication module, I was assigned the task of designing the frontend portion of the authentication module and also integrate Sign in/Sign Up using Google and Phone Number.
Here is the design I created:





Here I have used Firebase Prebuilt UI for third-party authenticators.

2. Room Allotment System

This was a bigger module than the previous one, in this module I had to show the total number of rooms present in the hostel and the number of students in those rooms, all the data was available in the firebase realtime database. All the data was to be presented in the card view, clicking on the card would take the user to the details of the students present in that particular room then a user would to able to add and delete students from the room. There was a list of students of all the students that were not assigned any rooms and were available for room assignment.
Here is the design for the module:


 But as this design was subject to iterations, it was not being approved and had to implement the system in the form of tables. Here is the changed design.


In this module, I faced a lot of challenges the first one being a lot of repetition of code causing so I had to figure out a way to reduce the repetitions after enough digging and searching I got introduced to the concept of the shadow-dom component which was really useful in overcoming the above-mentioned problem.

3. Student Leave Module

In the student leave module, the manager would be able to see all the leaves of the students in the last month and could see the leaves from any time if need be, the manager would also be capable of approving or rejecting a particular leave of a student.
The student leave module was also implemented in card view in the beginning but later was changed to table view.



Clicking on the Details button in the last column the user would be able to see the details of the leave. I used a modal to show the details of the leave, also the user could approve or reject the leave from the modal itself. Modals are tricky components to work had a bit of a learning curve there.

 Listing the managers/counselor students.
There was a subtask to list the students present under a particular manager/counselor and also show the details of the student in the same way in form of modal as above.

4. Bookings

In the bookings module list of available rooms in a particular range of dates and their rent would be shown and all the details regarding the room in the form of a modal were to be shown. I implemented only the UI part of this module.


ABOUT JAVASCRIPT.

During the course of the internship, I had to deal with a lot of javascript and now that I have spent enough time using the language I can say that javascript is really a wonderful language it can get things done though sometimes it behaves in weird ways that were out of my understanding but then reading the documentation and questions asked by other people in forums gave me a clear understanding of why and what javascript was trying to do. Learned a lot about the language and was fun to work with.

My Learnings.

  • Fundamentals of technologies relating to web development are more clear to me now.

  • Collaborating with other team members and accomplishing tasks.

  • Got a more clear idea of the Development cycle and how a team works on projects.

  • How to approach a problem and come up with solutions for it.

  • Getting clear-cut requirements can be useful to develop precise solutions. Vague requirements can get you only incomplete solutions.

  • Better communication eases everything and makes them better.

  • Asking questions is always rewarded and appreciated.

  • Each iteration/change can give you new learnings and takes you on a path that you might have not experienced before. 


All in all, I had a good learning experience and gained a lot in a very short amount of time. I got to know where I need to improve and where I am good at and would try my best for the future to come ahead. Thank, you for reading everyone.


















Comments