Zodiac MicroService

image info

The Zodiac Microservice within the Falomen app is a feature meticulously designed to deliver personalized horoscopes, zodiac sign insights, and astrological forecasts to its users. By leveraging the positions of celestial bodies at the time of a user's birth, this service interprets individual zodiac signs to provide daily, weekly, monthly, or yearly horoscopes that offer guidance, predictions, and advice tailored to each user's astrological profile. This microservice employs advanced AI algorithms to analyze the intricate details of each zodiac sign, including personality traits, strengths, weaknesses, and compatibility with other signs. It synthesizes this information with the current and upcoming astrological transits to generate accurate and insightful forecasts that resonate with the user's personal life experiences and challenges. Beyond mere predictions, the Zodiac Microservice offers a deep dive into the essence of each zodiac sign, enriching the user's understanding of their astrological influences and how these celestial forces impact their behavior, relationships, and life choices. This service makes the Falomen app not just a tool for fortune telling but a comprehensive guide for personal growth and self-discovery through the lens of astrology.


1) Requirements:

  • grpcio==1.62.0
  • grpcio-tools==1.59.0
  • prometheus_client==0.18.0
  • numpy==1.23.5
  • pandas==2.0.1
  • grpcio-reflection==1.62.0

2) API Documentation:

3) Assets:

  • gRPC Proto Files:
    • Falomen.proto
    • Falomen_pb2.py
    • Falomen_pb2_grpc.py
  • JSON Files:
  • zodiac_sign.json : Zodiac Dictionery File

4) Modules:

  • 4-1) Zodiac.py

    • Classes:

      Zodiac
      A class to Calculate Zodiac info based on user input birth date.

      Attributes:

      • year (str): Input User Birth Year.
      • month (str): Input User Birth Month.
      • day (str): Input User Birth Day.

      • Methods:

        • get_astro_sign()
          get_astro_sign converts input birth date to relevant Zodiac Sign

          Attributes():
          • year (int): Input Birth Year as integer.
          • month (int): Input Birth Month as integer between 1 to 12
          • day (int): Input Birth Day as integer between 1 to 31

          • return (str): relevent Zodiac Sign Name

        • get_zodiac():
          get_zodiac as main function provides Zodiac info using user input birth date

          Attributes:
          • year (int): Input Birth Year as integer.
          • month (int): Input Birth Month as integer between 1 to 12
          • day (int): Input Birth Day as integer between 1 to 31
          • input_language (str): User prefered language ("fa": for Persian, "tr": for Turkish, "en": for english, "arb": for arabic,)

          • return (series): a series including [User Zodiac Sign, User Element, User Category, User High Vibrations, User Low Vibrations, Month Characteristics]