MyTarotation

Project Overview: MyTarotation is a unique application that blends the mystical art of tarot reading with personalised media recommendations. Developed as a group project during the Founders and Coders program, it provides users with curated suggestions for books, movies, and music based on their personal details and recent media consumption.

Objectives

  1. Create an engaging user experience combining tarot and media recommendations
  2. Implement multiple API integrations for comprehensive media suggestions
  3. Build a robust server-side application without middleware or databases
  4. Develop an intuitive interface for user interactions
  5. Ensure reliable data persistence using local storage

Features

  1. Personalised Fortune Telling:

    • Age and birth month-based readings
    • Starsign integration
    • Recent media consumption analysis
    • Customised tarot interpretations
  2. Smart Media Recommendations:

    • Book suggestions via OpenLibrary API
    • Movie recommendations using OMDB API
    • Music album picks through MusicBrainz API
    • AI-powered content curation
  3. Quick Reading Options:

    • Express Fortune for instant readings
    • Pre-Coffee Fortune with mood selection
    • Community mood-based recommendations
    • Local storage for quick access
  4. Custom Implementation:

    • Server-side HTML rendering without templating engines
    • Local data persistence with node-persist
    • Dynamic background and navigation
    • Responsive design with Tailwind CSS

Technology Stack

  • Backend: Node.js with Express
  • Frontend: Custom HTML rendering
  • Styling: Tailwind CSS
  • APIs:
    • OpenAI API for recommendations
    • OpenLibrary API for books
    • OMDB API for movies
    • MusicBrainz API for music
  • Testing: Cypress
  • Documentation: Swagger

Future Improvements

  1. Enhanced Features:

    • User accounts and saved readings
    • Social sharing capabilities
    • More detailed tarot interpretations
    • Expanded media categories
  2. Technical Enhancements:

    • Database integration
    • Caching system
    • Performance optimisations
    • Additional API integrations

Outcome

MyTarotation successfully demonstrates the power of combining multiple APIs and creative design to create an engaging user experience. The project showcases effective server-side rendering and local data persistence, while maintaining a whimsical and intuitive interface. It was a great opportunity to work with a team and implement complex features within technical constraints.