Skip to content

Maren24/DAT250-project

Repository files navigation

Feed App - Full-Stack Application

The FeedApp project implements a distributed polling platform designed to support real-time voting, personalized poll recommendations, and scalable event-driven communication. The system is built as a Model-View-Controller backend with a microservices-style architecture: Kotlin/Spring Boot services expose REST APIs and publish domain events, an Angular frontend provides a single-page user interface, and auxiliary services implement notification delivery and semantic recommendations in separate containers. Apache Kafka is used as the internal message broker and event log.

Information and Links

Contributers: Maren Franke, Fredric Hegland and Kamil Matyjaszczyk

GitHub: https://github.com/Maren24/DAT250-project

Docker Hub: https://hub.docker.com/r/fredrichegland/feedapp/tags

Use application

Prequeries

To execute the application, docker needs to be installed.

For development the following programs are required:

  • Python
  • Java SDK21
  • npm
  • Docker

Startup

Note: The application contains large images, especially the embedding-service image, due to its included LLM. The startup process and pulling might take a while.

Docker compose with Docker Hub

docker login
docker compose -f docker-compose.dockerhub.yml up --build -d

Docker compose with local build

Start the application by executing the docker compose:

docker-compose up --build -d

This will start the entire application with all services.

Folder Structure

Each service owns an individual folder:

Additionally there are different folders for configurations and similar things:

  • Bruno: Bruno-Files for testing the application and its environment
  • Documentation: Documentation folder, containing pictures, decision making about frameworks, analysis (diagrams and requirements engineering) and the domain model
  • TechnologyAssesment: Containing files for the technology assesment - configurations and files for the Benchmarking and for the scalability testing
  • .github: Containing the workflows for GitHub

Application Ports

Architecture

Architecture

Architecture

About

FeedApp Application - Semester project of the subject DAT250 at HVL Bergen

Topics

Resources

Contributing

Stars

Watchers

Forks

Contributors