SnapTale

Record your life on the fly!

Demo Video

Watch the video

Tech Stacks

Features

  1. Moment Capture: Record and summarize significant moments in your life.
  2. Content Management: Organize and manage your photos and journal entries.
  3. Life Suggestions: Use your journal to receive personalized life advice and mental health support.
  4. Daily Reflection: Reflect on your day with insightful prompts and monitor mental health status.
  5. Meta-Information Tracking: Automatically record timestamps and GPS locations for each entry.
  6. Activity Visualization: Visualize your activity status through interactive heatmaps.
  7. Social Media Sharing: Share your content with friends on social media platforms.
  8. Data Insights: Analyze trends and patterns in your entries to gain deeper insights into your activities and emotions.
  9. Customizable Reminders: Set reminders for journaling and capturing moments based on your preferences.
  10. Multi-Device Syncing: Sync your data across multiple devices for seamless access and management.
  11. Privacy Controls: Manage who can view and interact with your content through robust privacy settings.
  12. Export Options: Export your data in various formats (e.g., PDF, CSV) for backup or sharing purposes.

Roadmap

  • Infra setup: building backend.
  • Gallery and journal display.
  • Generate journal entries with photos.
  • User profile display with activity heatmap.
  • Future updates will include integration with small portable devices. (WIP)

Getting Started

Running with Docker

  1. Clone the repository:

    git clone https://github.com/your-username/SnapTale.git
  2. Build and start the Docker containers:

    cd SnapTale
    docker-compose up --build

    This command will build and start both the frontend and backend services, as well as the MySQL database.

  3. Access the application:

Manual Setup

If you prefer to run the project manually:

  1. Backend Setup:

    • Navigate to the backend directory and install dependencies:
      cd backend
      pip install -r requirements.txt
    • Configure your MySQL database and set environment variables.
  2. Frontend Setup:

    • Navigate to the frontend directory and install dependencies:
      cd frontend
      npm install -g pnpm
      pnpm install
  3. Running the Project:

    • Start the backend server:
      cd backend
      uvicorn main:app --reload
    • Start the frontend application:
      cd frontend
      pnpm start

For more information, please visit repo for each submodule.