This is a project from the faculty in the 2nd semester of the 2nd year at the course named ”Software development methods”. It has 2 parts:
- Web video call application for registered users
- Global chat server, made in Java
Below you can find the demo for the video call website, the demo for the Java chat server and afterwards you can find out project requirements and details.
Software development process - grade between 1 and 10 It consists of the following parts:
- user stories (minimum 10), backlog creation - 2 pts
- design/architecture/UML - 2 pts
- source control (branch creation, merge/rebase, minimum 10 commits) - 2 pts
- automation testing (unit or integration) - minimum 5 - 3 pts
- bug reporting - 1 pt
- using a build tool - 1 pt
- refactoring (minimum 1), code standards - 1 pt
- design patterns - 1 pt
Note: It is not a mistake that the sum of the points is 13, not 10. In this way you can choose which sub-points you make to get a grade of 10.
- For the web application: implement the feature of a video call in a website. Only allow this for registered users that will log in. Users can have and add friends. The landing page of the website must be a presentation of the entire product.
- For the java application: implement the feature of global chatting between users that want to talk.
For the web application:
- Gabriel Arghire (me) - frontend and backend
- Ștefan Chițu (github profile) - backend, SQL queries and database design
- Daniel Simionov (github profile) - voice recognition with AI (implemented but not integrated)
For the Java global chat server:
- Adrian Olaru (github profile)
- Florin Emanuel Laiu (github profile)
Each member contribution can be seen on his own branch, mentioning that at some point in the history of this repository commits I have made a bad push and some contributions of team members have been erased on the main branch.
- justicebringer -> Arghire Gabriel
- SQL -> Stefan Chitu
- daniel -> Simionov Daniel
- java -> Olaru Adrian and Laiu Florin
Note: The second part of the project (the java chat server) is implemented in this repository, but has also been committed here, so the entire project can be seen on this single repository.
- user stories (minimum 10 - we have 8), backlog creation
- As a user, I want to be able to start a video with another user
- As a user, I want to be able to chat with another user
- As a user, I want to be able to see the screen during a video session
- As a user, I want to be able to record a video session
- As a user, I want to have a list of contacts and start a conversation
- As a user, I want to see if I have an upcoming meeting
- As a user, I want to video call another user using my mobile device
- As a user, I want to chat with another user using my mobile device
- Backlog creation in KanbanFlow:
- design/architecture/UML - 2 pts
- Architecture of the web application:
- Architecture of the java application:
- UML of the web app:
- UML of the java app:
- source control (branch creation, merge/rebase, minimum 10 commits) - 2 pts
- Each member has his own branch (as I said before, java part can also be seen here)
- Multiple pull requests and commits have been done
- automation testing (unit or integration) - minimum 5 - 3 pts
- bug reporting - 1 pt
- There were 3 bugs reported at issues page
- using a build tool - 1 pt
- For the java global chat server has been used Maven build automation tool
- refactoring (minimum 1), code standards - 1 pt
- design patterns - 1 pt
- The Java team have used Singleton and Model–view–controller design patterns
Bonus: for task management we have used KanbanFlow for the project management and a WhatsApp group for collaborating between messages.