Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Story Generator

Team Members

  • Jazmin Carlos
  • Cedar Hudgens

Demo Link

Project Description

The Interactive Storytelling Application uses AI to create stories based on what the user writes or chooses. Users can pick a genre, make characters, and shape the world of their story. The app can build different types of stories and let users save or export them.

Features Implemented

  • Genre selection (Horror, Romance, Fantasy, SciFi)
  • Save / export stories
  • Length Selection (Short, Medium, Long)
  • Complexity selection (Child friendly, Average, Difficult)
  • Pace selection (Slow, Normal, Fast)
  • Perspective selection (1st or 3rd)
  • Added Prompts for Setting, Tone, Time Period
  • Ability to ask for specific characters
  • Fully functional GUI

Design Patterns Used

  1. Strategy Pattern - Multiple story generation strategies.
    • Horror, Romance, Fantasy, SciFi
  2. Factory Pattern - Centralizes the creation of StoryStrategy objects based on the user's selected genre (e.g., automatically creates a FantasyStrategy instance when 'Fantasy' is chosen).
  3. Observer Pattern - Ui updates when story and/ or model changes
  4. Singleton Pattern - Configuration manager or API rate limiter

Setup Instructions

  1. Get API key from Open API
  2. Update "sample.config.properties" with the API key and API URL.
  3. Change name to "config.properties"

Prerequisites

  • Java 11 or higher
  • Dependencies:
    • org.json (20231013)
    • okhttp 4.12.0
    • JUnit 4.13 (unit tests)
    • Mockito 5.21.0 (unit tests)
  • OpenAI API key

Installation (Intellij - Terminal)

  1. Clone repository
  2. Edit sample.config.properties as described above.
  3. Go To main.java.TerminalTest
  4. Run the current file

Installation (Intellij - GUI)

  1. Clone repository
  2. Edit sample.config.properties as described above.
  3. Go To main.java.Main
  4. Run the current file

About

The Interactive Storytelling Application is an AI-powered platform that creates unique stories based on user input. Users can choose genres, design characters and worlds, and customize writing style or length.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages