Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 2.44 KB

README.md

File metadata and controls

48 lines (37 loc) · 2.44 KB

Summary

A to-do list notification system helps users stay organized and on top of their tasks and responsibilities by providing timely reminders and alerts. This system is designed to assist individuals in managing their tasks, goals, and priorities more effectively.

This project was developed for the module CS5721 - Software Design, taught by Prof. J.J. Collins at the University of Limerick.

Overview

The project employed a microservices architecture having components such as API Gateway and Eureka Server and 2 Microservices. Users can create labels for lists such as Grocery, Today, Travel, etc. and add items to them using Factory Pattern.
I was responsible for the Priority Module using which Users can set Priority to an item such as High, Low, Medium, Special dynamically using Decorator Pattern, and Creating API Gateway using Spring Cloud Gateway and Eureka Server using Spring Cloud Netflix Library. Users get notified on email on due date and on todo completion using Observer Pattern. Application had User Authentication implemented using JWT token. Demonstrated Multiple Design Patterns such as Observer, Decorator, Command. Developed an Azure DevOps CI pipeline. Added Unit Testing using JUnit. Developed this team project for the Module CS5721 - Software Design. Learnt important skills such as conceptualising, designing, developing, testing, and deploying a software application written in Java 11 and Spring Boot. Learnt effective teamwork and collaboration from this project.

Plan

  • week 3 - Getting Started
  • week 4 - Requirements
  • week 5 - Architecture
  • week 6 - Analysis
  • week 6 - Presentation (system Arch & Class Diagrams)
  • week 7 - Coding Iteration 1: MVC & 1 use case, test cases
  • week 8 - Coding Iteration 2: two more use cases and design patterns
  • week 9 - Coding Iteration 3: other use cases and design patterns
  • week 10 - Coding Iteration 4: Added Value
  • week 11 - Over Run
  • week 12 - Architecture and Design Recovery

Skills

  • UML for class, activity, use case, system architecture, sequence, schema, and package diagrams
  • SOLID Principles
  • Design Patterns - Decorator, Observer, Command
  • Demonstrate Software qualities of modularity, extensibility, and reusability

Tech Stack

  • Java 11
  • Spring Boot
  • Spring Security (JWT Authentication)
  • JPA (Java Persistence API)
  • Spring Cloud API Gateway
  • Spring Cloud Netflix Eureka
  • MySQL Database
  • JUnit
  • Postman
  • Maven
  • Azure DevOps CI Pipeline
  • Sonar for code smells