DoConnect is a Q & A application in which users can ask questions and answer questions asked by other users. Users can also upload images to questions and answers for reference. It allows users to search questions based on a particular topic or by a query string. It informs admins via email whenever a new question or answer is added to DoConnect. It allows admins to approve / delete questions and approve / delete answers and manage users. It allows users to chat with other users. JWT is used for user authentication and authorization.
- DoConnect is a Q & A application in which users can ask questions and those questions can be answered by other users.
- DoConnect also allows users to chat with each other on a group chat.
- The application supports users with two different roles: User and Admin.
- The admins are informed via email whenever a new question or answer is added by a user.
- Admins can either approve or delete the newly added questions or answers by a user.
- Admins can also manage other users on the application.
- DoConnect Application is developed using Angular, Spring Boot and MySQL.
- There is no restriction as to how many admins are supported.
- Provide a platform to users where they can freely ask and answer questions on a wide range of topics.
- Provide a platform to users where they can filter questions on certain topics or by a query string.
- Provide support for Admins to monitor the platform so that users do not abuse it; by allowing Admins to approve or delete any question or answer, a user submits.
- Create a User experience where users can achieve their target action with minimal effort.
- Provide a responsive UI which supports multiple screen sizes and is mobile friendly.
- Provide secure access to the platform by use of JWT.
- Provide users an ability to chat with other users.
- Provide users an ability to add images to questions and answers for reference.
- Keep admins up to date with their approval queues by sending them email whenever a new question or answer is added to the platform by any user.
- Angular
- TypeScript
- Node JS
- NPM for managing packages
- VSCode (IDE)
- Angular CLI
- Bootstrap 5 (for styling pages)
- HTML5
- CSS
- JWT (for authentication)
- Spring Boot
- Spring Data JPA
- Spring Boot Starter Mail
- Maven for managing packages
- Java JDK
- Tomcat Server
- MySQL Database
- JWT (for authentication and authorization)
Responsible for:
- User authentication and authorization
- Storing and retrieving questions, answers, users and images.
- Sending email to admins.
Available Controllers:
- AnswerController
- AuthenticationController
- ChatController
- ImageController
- QuestionController
- UserController
Responsible for:
- Storing and retrieving user group chats.
Available Controller:
- MessageController