Skip to content

Open source old version of Spring microservice system for MEPhI AlumniClub

Notifications You must be signed in to change notification settings

mdportnov/spring-microservices-alumniclub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Project Structure

This project has the following directory structure:

app:
The App module is the core component of the application that manages the core business logic. It is responsible for coordinating all services and functionalities, and can exist as a standalone service. Communication with other microservices is carried out through the RabbitMQ channel.

The module provides essential services such as authentication, user management, community and project management, news and notifications, loyalty programs, and initiatives, mentoring, and partnership programs.

broadcast-service:
This service is used to create email broadcasts. Data for mailings is transmitted via the RabbitMQ queue.

Used to create such mailings:

  • A letter about a new publication
  • A letter to confirm registration
  • Password reset email
  • Broadcast from the administration

image-service:
The image service is used to work with images. Data is transmitted via the RabbitMQ queue.

This service is used for such manipulations with pictures:

  • Saving images to the local file storage
  • Compressing images
  • Cleaning unnecessary images

recommendation-service:
This service is used to implement a recommendation system based on the Word2Vec algorithm. Recommendations are selected based on feedback from users. Moderators can manually send a request to recalculate the weights to improve the recommendation system.

shared:
Provides common utilities for other services. Contains utility classes used throughout the application. It includes common constants, enums, extensions, models and response-related utilities.

buildImagesAndRun.sh:
This file is a convenience script to build the Docker images and run the services.

docs:
This directory contains documentation related to the project generated with Dokka.

config:
This directory contains configuration files used by the application.


All of the services are containerized using Docker and can be run using docker-compose. The buildImagesAndRun.sh script is a convenience script that builds the Docker images for the services and starts them up using docker-compose.