Skip to content

GuoYuHeJason/CSC207GroupProject

 
 

Repository files navigation

Joke Machine

Domain: Joke Generation and Explanation

By: Jason He, Xiaowu Wu, Xuesi Deng, Alexander Sun, Cheryl Lin

Table of Contents

  1. Software Specification
  2. Features
  3. Setup and Intstallation
  4. Usage
  5. License
  6. Feedback and Contributions

Software Specification

Joke Machine is a joke generation and explanation platform that allows users to generate, search for, save, and understand jokes. The purpose of the project is to provide a platform for those to engage in jokes and understand in a way that is efficient and useful. Users can generate or search up jokes, ask for explanations, and sort their list of favorite jokes based on rating of the jokes. Joke Machine integrates with external APIs for joke generation and explanation to provide rich and diverse humor content.

Features

Joke Generation: Generate new jokes with a variety of themes and styles. Joke Explanation: Explain jokes, whether generated by the app or provided by the user. Favorites Management: Save favorite jokes to revisit later. Search and Filter: Search for jokes by title or keywords (e.g., themes like "911"). Search for jokes within saved list of jokes Filter jokes by rating to find the "funniest" jokes.

Setup and Installation

  • Before setting up the project, make sure you have the correct software installed。

    1. Java Development Kit (JDK) version 11 or higher: https://www.oracle.com/java/technologies/javase-downloads.html
    2. IntelliJ IDEA Community or Ultimate Edition: https://www.jetbrains.com/idea/download/
  • Once you have the software setup:

    1. Clone the repository:
    1. Open the Project in IntelliJ:
    • Launch IntelliJ IDEA.
    • Go to file and click New --> Project From Version Control.
    • Paste the clone and open project.
    1. Install Dependencies:
    • Ensure that your project dependencies are configured in a build.gradle or pom.xml file.
    • If using Maven, IntelliJ will automatically import dependencies defined in pom.xml. If using Gradle, open the build.gradle file, and IntelliJ will synchronize the dependencies.
    1. Run the Application:
    • Locate the Main class (or equivalent entry point) in your project.
    • Right-click on the file and select Run 'Main'.

Usage

Login / Signup

  • Enter a username and password in the fields provided to login.

Generating Jokes

  • Select the "Generate" button to create a new joke or search up joke by title or keyword

Explaining Jokes

  • If you don’t understand a joke, click on the "Explain Joke" button. The system will provide an explanation of the joke's humor or meaning.

Saving Favorites

  • Click "favorite" to add a joke to your favorites list.
  • Access your favorites anytime from the "favorited" section.

Searching and Filtering

  • Keyword Search: Enter a keyword (e.g., "911") to find jokes related to that theme.
  • Funniest Jokes: Use the "Funniest" filter to sort saved jokes by their humor rating.

License

This project is released under the Creative Commons CC0 1.0 Universal (CC0) Public Domain Dedication. See LICENSE for details.

Feedback and Contributions

Providing Feedback:

Contributing to the Project:

  1. Fork the Repository:
    • Click the "Fork" button on the top right of the repository page to create a copy of the project under your GitHub account.
  2. Clone the Repository:
  3. Create a New Branch:
    • "git checkout -b feature/new-feature"
  4. Make Your Changes:
    • Add or change features
  5. Submit a Pull Request:
    • Commit and push your changes to your fork and open a pull request in the main repository.
    • Provide a description of your changes explaining why they are valuable in the merge request
    • We will review the changes and get back to you!

We appreciate you for engaging with our Joke Machine!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%