Skip to content

Repository of the project carried out for the Software Architecture Design exam, for the Master's Degree course in Computer Engineering at the Federico II University of Naples.

Notifications You must be signed in to change notification settings

DanieleFazzari/Software_Architecture_Design_2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Architecture Design Project

Repository of the project carried out for the Software Architecture Design exam, for the Master's Degree course in Computer Engineering at the Federico II University of Naples.

Contributors

Project Goal 🚩

The goal is to create an open source instant messaging application based on the security and privacy of the users who are using it. The application allows users to subscribe to the service, to send and receive messages from other subscribed users; to guarantee delivery of the message sent even if the receiver is offline; to guarantee that registration and communication take place in total security, through encrypted management of access keys.

Skills acquired ✅

  • Writing a Design Document (DD)
  • Working with Agile methods and techniques
  • Developing a Smartphone App with React Native framework
  • Implementing a microservice architecture via API REST
  • Analysing a software system according to different architectural views
  • Performing Component and Functional Testing

Tech Stack ⚙

Backend
Language JavaScript (NodeJS)
Framework Express
Testing Jest
Database MySQL
SQLite
Frontend
Language JavaScript
JS Framework ReactNative
Tools
Packet Manager Yarn
Bundler Expo
UML Design VisualParadigm

Documentation 📄

  • Documents produced at the start of the project (e.g. Vision document and description of Objectives, Stakeholders, General and Quality Requirements, Constraints, etc....), glossary, cost estimates and Draft Architecture (from context diagram). Chapter 1

  • Description and justification of the type of development process adopted (UP, Scrum, eXtreme Programming) and the organisational and project planning choices made, with an indication of the tools and any agile techniques/practices used. Chapter 2

  • Requirements Specification and Requirements Analysis documents, including textual analysis, mockup and design concepts, use case model, use case diagram, system sequence diagrams, system domain model, draft architectural diagram, activity diagrams, communication diagrams and state machine diagrams. Chapter 3

  • Project documentation relating to the Software Architecture, the design choices made and the requirements design implemented, including C&C view, design sequence diagrams, class diagrams and deployment diagram. Chapter 4

  • Documentation of the implementation of the software developed and instructions for the configuration, installation and execution of the software produced, including descriptions of the files created and design patterns implemented, detailed sequence diagrams, E-R models. Chapter 5

  • Description of tests performed, including unit and functional tests. Chapter 6

Video Demo 📹

YouTube Link

About

Repository of the project carried out for the Software Architecture Design exam, for the Master's Degree course in Computer Engineering at the Federico II University of Naples.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •