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.
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!
Follow the progress of Greethy and keep an eye out for announcements about the reopening of the project. Thank you for your support!
- 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!
Greethyโs goal is to improve lives and foster a community of health-conscious individuals. We appreciate your patience and support during this period.
๐
You can find the worklogs for the Greethy project in the following documents:
For inquiries, feel free to reach out via:
- Email: [email protected]
- Email: [email protected]
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.
- ๐ About this Project
- ๐ Table of Contents
- ๐ Prerequisites of Development
- ๐๏ธ Project Architecture
- ๐๏ธ Architecture Implementation
- ๐ก Microservice Component
- ๐ฆ Modular Component
- ๐๏ธ File Structure
- ๐ Run the Application
- ๐ฅ๏ธ Running on Local Machine
- โด๏ธ Using Docker (Not finished yet)
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):
- Common (common):
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
Go to run-all-modules.sh to run all services component in project. Remember run the service by order from top to bottom
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/
- 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
-