"Bright minds think alike!"
The purpose of the application is to facilitate the learning and networking of BNTA coursemates via the following:
- Enable BNTA trainers to create chatrooms for individual study groups and assign users to these rooms
- Enable users to create their own study groups over the Winter Break
- Enable users to create code challenge groups to study/work towards hackathons and codewars.
- Enable current users to connect with BNTA graduates/consultants i.e. an alumni networking service
ERD
Class Diagrams
Routes
- Allow a user to post a message in a chatroom.
- Allow a new user to be added to an existing chatroom (via creating a new subscription for the user to the chatroom).
- Display all messages in a specific chatroom, with the most recent message first.
Our program has the following main functionalities:
- Allow for the creation of a new user.
- Allow you to update the information of a user.
- Allow a user to update their message.
- Allow users to create a chatroom dependent on it having at least two members.
- Delete a message by Id.
- Display all users in a specific chatroom.
- Display a specific chatroom by Id.
- Display all existing chatrooms.
- Display all messages across all chatrooms.
There are a few functionalities which would really add to the program but are not necessary for the running and execution of the program:
- Allow user to search a message within a chatroom by keyword.
- Allow user to search a message across all chatrooms by keyword.
- Allow users to react to a message.
- Implemented simple user authenticator to view messages.
- Allow only trainers to create a chatroom of other users without joining them.
- Java
- IntelliJ IDEA (Jdk17)
- PostgreSQL
- Spring boot
- Postman
- Postico
- JUnit5 Testing