Application Frameworks Project
Application Frameworks (SE3040) is a module offered in the 3rd Academic year in the BSc (Hons) in Information Technology Specializing in Software Engineering program at the Sri Lanka Institute of Information Technology (SLIIT).In this module, we will learn about JavaScript frames such as NodeJS, ExpressJS, KoaJS, and ReactJS, as well as Spring Boot and Docker.
As 3 rd year Software Engineering Student in SLIIT, we have to build a web application for this module as an assignment. This is a group project and each group contains 4 students. From now on I will present to you this Group Project through this blog. For convenience, I thought of dividing this into 3 parts. Accordingly, I would like to share with you firstly the topic we have for this and secondly, the technologies we use, and finally, our experience gained through this group project. So let’s get started…
Brief Introduction about our topic
We got the Research Project Management Tool as the topic for this project. Let’s see the requirements we have received to implement the solution.
This Research Project Management Tool is for 4 th year students to help them with their research project.
Requirements
🍁 A student group must find a research topic in a specific research field and send it to a supervisor who has interests in the same research field.
🍁 When the supervisor accepted the topic, they must find a co-supervisor of the same research interest.
🍁 After finalizing the supervisor student must send a document including the topic details.
🍁 The topic evaluation panel will evaluate the topic and send feedback to the student group. If the topic is accepted, they can continue the project. If rejected, they must find a new topic and submit it back.
🍁 Document submissions are evaluated by the supervisor or the co-supervisor and presentations will be evaluated by a separate panel.
🍁 The final thesis will be double evaluated by the supervisor and a blind reviewer.
User Classes
🌵 Admin — Delete/Update users, Create submission types, Allocate panel members to student groups, Create marking schemes, Upload document/presentation templates, View Roles
🌵 Student — Register, Create student groups, Register research topic, Request supervisor, Request co-supervisor, Submit documents, Download Templates
Get Sanduni Jayasinghe’s stories in your inbox
Join Medium for free to get updates from this writer.
🌵 Staff — Register
☘️Supervisor /Co-supervisor —Should be a staff member, Accept topics, Chat with the groups, Evaluate Documents submitted by groups using the provided marking scheme
☘️Panel Member —Should be a staff member, Admin will add them to a panel, Evaluate topics, and Evaluate students’ presentations according to the provided marking scheme
Technologies
We use the following technology stack as part of our solution.
🌵 ReactJS: ReactJS is a JavaScript toolkit for creating reusable UI components that are declarative, fast, and versatile. It’s a component-based front-end library that just handles the application’s view layer. Facebook created and managed it at first, and it was eventually integrated into its products such as WhatsApp and Instagram.
🌵 NodeJS: Node.js is a cross-platform runtime environment for creating server-side and networking applications that is open source. Node.js apps are written in JavaScript and run on OS X, Microsoft Windows, and Linux using the Node.js runtime.
🌵 ExpressJS: Express JS is a Node.js framework that makes it simple to create APIs, online applications, and cross-platform mobile apps.
🌵 JSON based Web services: A web service is a set of open protocols and standards that allow data to be exchanged between apps or systems.
🌵 MongoDB: MongoDB is a document database with the scalability and flexibility that you want with the querying and indexing that you need
🌵 JEST: Jest is a JavaScript Testing Framework that focuses on ease of use.
My Experience During the Group Project
Working on a project with other people might be difficult at times, but I was fortunate in that I got along well with my group members. I’ve learned a lot of various things throughout the period.
First we studied the project on our own. Then the three of us get together and talk about the solutions needed. Accordingly, we were first assigned to submit the SRS document. It took about a week for this. But once I started coding the project, I realized that it was not a waste of time. Before developing such a system, it is important to have a good understanding of the requirements as well as a plan.
We divided it into 3 equal parts and started coding. Here we used git as a version controlling system. Although coding as a team may seem like an easy task, for a project to succeed, everyone must be on the same level. Here we can not individually develop the system as we want. Due to this, I had to constantly talk to the members of the group and resolve any issues that might arise. Through this, I was able to improve my communicative skills which are important in working as a team.
As a team, we were able to successfully deal with issues that arose as the project progressed. The support I received from the other two members of the team on the issues that arose was immense. Here I realized that team support is a very important part of the success of a project.
In the future, as professional software engineers, we will have to work as a team with other people. We have always received the necessary background from the University and this AF project continues to guide us in this direction.









