ahsankamal / Group-Formation-Tool

A web-based group formation software for helping professors to create groups of students based on the survey/questionnaire response from students.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GroupFormationTool

Modified by CSCI-5308 Group-24

1. Describe the project and the goals that were set.

Group Formation tool: As part of my advanced software development course at Dalhousie University, my group (of four members) was required to build a web application that would help the professors to create survey questions, define group formation algorithm, and automatically form the groups of students based on the survey response filled by students. It also had other basic features such as authentication, authorization, admin page, etc.

We were given all the requirements in the form of three milestones. Basically, we were asked to implement a clone of the https://catme.org/ web application.

The goal was to fulfill all the requirements in each milestone using software development best practices. We were required to follow Agile methodology (scrum), GitFlow branching strategy for collaboration, use different database for development, testing, and production environment, set up logging and error handling, perform code reviews, and set up CI/CD on GitLab for automatic deployment to production and testing servers on Heroku. While writing the code, we were required to follow Test-Driven development (TDD), SOLID principles, MVC architecture, and design patterns (creational, structural, and behavioural).

2. Tell us about the technologies you used for the project to come to life.

We used Java, Spring boot framework, Spring Security, Spring Thymeleaf, MySQL database, Heroku, and, git to build our project.

3. Evaluate the results of the project.

We were able to successfully implement all the requirements while adhering to the software development best practices. Through this project, We enhanced our knowledge of Java and the Spring framework. We also learned about the design patterns, SOLID principles, TDD, CI/CD, cohesion, coupling, and other software development best practices.

Team members:

[1] Ahsan Kamal [2] Hari Arunachalam [3] Ketan Bhalerao [4] Vivek Sakariya

Copyright 2020

About

A web-based group formation software for helping professors to create groups of students based on the survey/questionnaire response from students.


Languages

Language:Java 84.4%Language:HTML 14.0%Language:CSS 1.6%