Skip to content

Open-source Spring boot Server for the Greethy Project ๐ŸŒฑ

Notifications You must be signed in to change notification settings

Greethy/greethy-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Greethy Project: Backend


Current Status ๐Ÿšง

Due to the busy schedules of our team members, the Greethy project has been temporarily paused. We hope to resume work on this app in the future, aiming to fulfill our vision of building a healthier community.

Whatโ€™s Next ๐Ÿ”ฎ

While Phase 2 of development will be delayed, we continue to maintain our roadmap and are committed to returning to this project when time permits. Stay tuned for future updates and development!

Stay Connected ๐Ÿ“ก

Follow the progress of Greethy and keep an eye out for announcements about the reopening of the project. Thank you for your support!

Features Weโ€™ve Planned

  • Health and Nutrition Tracking: Monitor your diet, exercise, and financial well-being.
  • Community Interaction: Connect with others on their health journey.
  • Resources: Access reliable information and advice on healthy living.

Weโ€™ll be updating the status and progress of the project in the coming months, so keep following us for news!

Thank You for Your Support ๐Ÿ™

Greethyโ€™s goal is to improve lives and foster a community of health-conscious individuals. We appreciate your patience and support during this period.

๐Ÿš€

Worklog:

You can find the worklogs for the Greethy project in the following documents:

For inquiries, feel free to reach out via:


๐Ÿ‘‹ About this Project

Greethy is a project that offers solutions for nutrition management, workout support, personal finance tracking, and a mini social network where people can join together to manage and share their achievements.

Greethy Server, powered by Spring Framework, Axon Framework, Apache Kafka and MongoDB, provides efficient handling of large-scale data, project scalability, resilience, flexibility, security and seamless integration capabilities.

๐Ÿ“‹ Table of Contents

Greethy Project: Backend

๐Ÿ“ Prerequisites of Development

๐Ÿ›๏ธ Project Architecture

๐Ÿ™๏ธ Architecture Implementation

๐ŸŽก Microservice Component

Greethy Server consists of multiple services represented as modules in the project file, including:

  • Configuration Server (config-server): is Spring's client/server approach for storing and serving distributed configurations across multiple modules and environments.

  • Service Discovery (services-discovery): is a Microservice Component help to know where each instance of a service is located. It acts as a registry in which the addresses of all instances are tracked.

  • API Gateway (api-gateway):

๐Ÿ“ฆ Modular Component

๐Ÿ“ File Structure

greethy-backend
  โ”œโ”€โ”ฌ api-gateway           โ†’ gateway module with Spring Cloud Gateway
  โ”‚ โ”œโ”€ src
  โ”‚ โ”œโ”€ Dockerfile
  โ”‚ โ””โ”€ pom.xml
  โ”œโ”€โ”ฌ common                โ†’ common module for shared classes
  โ”‚ โ”œโ”€โ”ฌ annotation             โ†’ annotation sub-module for customized annotation
  โ”‚ โ”‚ โ”œโ”€ src
  โ”‚ โ”‚ โ””โ”€ pom.xml
  โ”‚ โ”œโ”€โ”ฌ mapper                 โ†’ mapper sub-module for mapper configuration
  โ”‚ โ”‚ โ”œโ”€ src
  โ”‚ โ”‚ โ””โ”€ pom.xml
  โ”‚ โ””โ”€ pom.xml
  โ”‚
  โ”‚
  โ”œโ”€โ”ฌ services-discovery    โ†’ services discovery module with Eureka Server
  โ”‚ โ”œโ”€ src
  โ”‚ โ”œโ”€ Dockerfile
  โ”‚ โ””โ”€ pom.xml
  โ””โ”€ pom.xml       โ†’ Maven parent pom managing both modules

Technologies Stack

๐Ÿ‘Ÿ Run the Application

๐Ÿ–ฅ๏ธ Running on Local Machine

Go to run-all-modules.sh to run all services component in project. Remember run the service by order from top to bottom

โ›ด๏ธ Using Docker (Not finished yet)

Overview

Docker is an open source platform for developing, shipping and running applications. It enables to separate applications from infrastructure so that can deliver software quickly.

Reference: https://docs.docker.com/get-started/overview/

Install Docker

Run MongoDB Server

  • Start MongoDB Instance: Use the following content for the docker-compose.yaml file, then run the service.
#MONGODB FOR DATA RESOURCE
mongodb:
  image: mongo:latest
  container_name: greethy_mongodb
  hostname: mongodb
  ports:
    - "27017:27017"
  volumes:
    - ./db-data/mongodb:/data/db
  environment:
      - MONGO_INITDB_DATABASE=GreethyDB
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=password
  • Test MongoDB connection with Intellj Database: Go to View > Tool Windows > Database, click New > Data Source > MongoDB. Set configuration by following properties:

    • Host: localhost

    • Port: 27017

    • Authentication: Username Password

    • User: root

    • Password: password

See API documentation at localhost:8085/swagger-ui.html

About

Open-source Spring boot Server for the Greethy Project ๐ŸŒฑ

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Languages