개발 기간 2023.06 ~ 2023.08
사이트 바로가기 https://alog.acceler.kr/ (🔧업데이트 중)
Team repo https://github.com/orgs/KEA-ACCELER/repositories
Here, the domains(service)'s relationship is shown.
User service handling the information of users. User service aims to manage user information, team, and team member information. Users manage profile information and efficiently support collaboration through functions such as team creation, team member management, and e-mail authentication.
- Users move to the sign-up page and enter the required information.
- The system creates an authentication code and sends an email to the entered email.
- The email contains an authentication code.
- Users check the email and click the authentication link or enter the authentication code.
- The system checks the email authentication and changes the user's authentication status.
- When the email authentication is complete, the user completes the sign-up process.
- Users can log in with a new account by moving to the login page.
- Users move to the profile page after logging in to manage personal information.
- You can change your profile picture, change your password, and more.
- Users can move to the team creation page and create a new team.
- Someone who make the team can manage the team.
- You can check the existing team list and request to join.
- Team managers can add or remove team members.
- The team member list is dynamically updated to reflect changes in team members.
These are for user and team management, and for the system's api interface for sign up and email authentication. To describe the meaning and function of some api interfaces:
- GET
/api/users/info
: This is an api interface that retrieves user information. You must pass the user's id as a parameter. - DELETE
/api/users/delete
: This is an api interface that deletes a user's account. You must pass the user's id as a parameter. - GET
/api/users/teams
: This is an api interface that retrieves a list of teams to which a user belongs. You must pass the user's id as a parameter. - DELETE
/api/users/teams
: This is an api interface that deletes a team to which a user belongs. You must pass the user's id and the team's id as a parameter. - POST
/api/users/teams-members
: This is an api interface that allows a user to join a new team. You must pass the user's id, the team's id, and the role as parameters. - POST
/api/emails/verify
: This is an api interface that handles a user's email authentication. You must pass the user's email and code as parameters. - POST
/api/emails/send
: This is an api interface that sends an email code to a user. You must pass the user's email as a parameter.
./gradlew dependencies
implementation - Implementation only dependencies for source set 'main'. (n)
+--- org.springframework.boot:spring-boot-starter (n)
+--- org.springframework.boot:spring-boot-starter-data-jpa (n)
+--- org.springframework.boot:spring-boot-starter-web (n)
+--- javax.xml.bind:jaxb-api:2.3.0 (n)
+--- org.springframework.cloud:spring-cloud-starter-openfeign:4.0.2 (n)
+--- org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2 (n)
+--- org.springframework.boot:spring-boot-starter-validation (n)
\--- org.springframework.boot:spring-boot-starter-mail (n)
- use docker-compose.yml
docker compose up -d
http://localhost:30000/api/users
- Database performance optimization: Optimize performance for large data processing to improve response speed.
- Improve user experience: Improve user profile management and team joining procedures to be more user-friendly.
- Strengthen team management functions: Add functions such as project management, schedule management, and collaboration tool integration to support team collaboration more effectively.
- Expand email service: Add functions such as notification and notification subscription to enhance communication between users and teams.
The User
service plays an important role in supporting efficient collaboration and team management by managing user information and team and team member information. Continuous quality improvement and feature enhancement will provide users with a better experience.