Skip to content

Latest commit

 

History

History
99 lines (81 loc) · 6.58 KB

README.md

File metadata and controls

99 lines (81 loc) · 6.58 KB

Dreampack

Visit Dreampack, a web-based dream journal application!

What is Dreampack?

Dreampack is a toolkit for hobbyist dream journalers and lucid dreamers, including several features to aid dream journaling, dream recall, reality checks, and dream sign tracking. It is intended to be easy to use and desktop/mobile friendly for users of both preferences. It is free to use, and open source with all of the code available in this repo. Dreamers who use the app will find it helps facilitate an improved relationship with their dream journeys in general, provided they use the tools available to them to their fully potential.

If you're uninformed as to what dream journaling or lucid dreaming are, that doesn't mean you can't use the app! Dreampack makes it easy to start recording and paying attention to your dreams over time. If you read some blogs or books on the subject, you'll find a lot of the techniques that are taught in them are covered as built-in features Dreampack.

Check out the live site at: https://dreampack.app/

Features

Write, save and edit journal entries

  1. Log in and you will see the new entry form, or else click the "+New Entry" button to navigate to the form. New Entry button
  2. Enter text in the Title and Body fields. Title and Body Fields
  3. Click the save entry button.
    Save Entry button

Highlight and save dream signs

  1. Select the text you wish to turn into a dream sign. Click the popover button that says "Dream Sign" to turn the selected text into a dream sign.
    Dream Sign Popover
  2. The text will now be highlighted pink. Any future text that matches the phrase will also be highlighted for you.
    Dream Sign Highlight

OpenAI Features

Note: You will have to save your OpenAI API key to your account via Dreampack's Settings page in order to use Dream Interpretation, Audio Transcription and Image Generation features. Read this link to OpenAI's help pages to find out Where do I find my Secret API Key?

Interpret your dream with AI

  1. Navigate to your desired entry and click the "Go to Interpretation" link in order to navigate to the Interpretation page
    Go to Interpretation Button
  2. Click the "Interpet with AI" button
    Interpret Button
  3. Wait for the interpretation to generate
    AI Interpretation

Audio-to-text transcription to speak your entries to life

  1. Prepare your microphone. This can be a phone mic if you're on mobile or a regular computer mic on desktop.
  2. Navigate to the New Entry page and click the "Start Recording" button. Optional: Add a title, which will be generated automatically if left empty.
    Record Button
  3. Speak your entry into the microphone.
  4. Click the "Stop Recording" button when you're finished.
    Stop Recording button
  5. Wait for the transcription to complete, when it's finished your audio will be transcribed into text and the entry automatically saved.
    Whisper Transcription

Generate images for your dreams

  1. Navigate to your desired entry.
  2. Click the "Generate Image" button and wait for it to generate.
    Generate Image Button
  3. A new button will appear which is a smaller version of the generated image, click it in order to see the full size, and click away to make it disappear.
    Generated Image

Responsive, sleek and colorful UI

  • Works on Mobile!

Technologies

  • Ruby on Rails
  • React.js
  • Tailwind
  • Postgresql
  • OpenAI API: ChatGPT, Whisper, DALLE-2
  • RSpec
  • Cypress

Local Setup

Currently, the only way to interact with Dreampack is locally. It will be deployed soon!

  1. Check if you have Ruby 3.1.2 by entering ruby -v into the terminal. I recommend rbenv for managing versions
  2. Enter rails -v in the terminal to ensure you have Rails 7.0.5 installed
  3. psql --version to ensure you have PostgreSQL 14.9 installed (make sure you have a user and password)
  4. If you need more information on setting up PostgreSQL with rails, see this great resource
  5. Fork the repository and copy SSH key
  6. Enter git clone <'SSH Key'> in the terminal and enter
  7. bundle install and yarn install to install dependencies
  8. bundle exec figaro install to install Figaro, which you'll need to handle your OpenAI API key
  9. You'll need to sign up for an OpenAI account if you want to use the AI Features
  10. In your OpenAI account dashboard, click the profile icon in the top right, click View API Keys and then click Create new secret key, copy it for the next step
  11. Open the application.yml file and enter OPENAI_ACCESS_TOKEN: <'Your OpenAI API Key'> without the <''>, just the key you copied earlier
  12. rails db:setup to create the database and load the schema
  13. bin/rails db:migrate to run migrations
  14. bin/dev to run the local server
  15. localhost:3000 in your web browser to access the application