Giter VIP home page Giter VIP logo

story-vault's Introduction

Story Vault

View the live project here.

The image is from Am I responsive?

Story Vault is a terminal-based story generator designed mainly for children 7 years and up. It was designed to provide a fun environment in which the children can create stories very much like Madlibs. They select words provided from the terminal and the story is created for them. They can play as much as they like until they decide to end the game.

UX

I aimed to create a story generator game for children that is fun and is very easy to manipulate and input data.

The ideal client:

  • Children
  • Adults
  • English Speaking
  • Readers
  • People who like silly stories

The game will help clients to:

  • Navigate easily through the terminal
  • Test their reading skills
  • Improve their imagination
  • Provide entertainment

Owner Stories

  1. As the owner, I want the game to be fun and make the user to keep returning.
  2. As the owner, I want the game to be educational.
  3. As the owner, I want to show my new learned skills with Python.

User Stories

  1. As a new visitor, I want to easily navigate the terminal to play the game.
  2. As a visitor, I want to be able to exit the game when I get tired of playing.
  3. As a visitor, I want to be create and read fun stories.

The skeleton

The Game consists of only 1 page which is the terminal page. I am using Python to generate the data and create stories.

  • The terminal game is not responsive and is only 1 page therefore wireframes were not needed this time.

The Scope

To achieve my goal, I included the following features in my game:

Features

  1. A welcoming message asking the user to enter his/her name.
  2. List of 4 stories in the library which I can keep adding to.
  3. A List of words like adjectives and verbs from which the user can select and then these words are returned into the stories.
  4. The user has a choice to end the game by selecting 5.

Future features

I ran out of time to implement these changes, I will implement them in the future:

  • Form validation: The input required in the "name" box.
  • Save score option.
  • Top 5 high scores board.

The Design

It is a children's game therefore the graphics are very child-friendly. Each story has its own image based on the title eg. place for "taco story" (I could not find a ASCII image for a taco), Pizza for "Pizza story",Teddy bear for "About me" and a Butterfly for "Butterflies".

  • I have imported 'Time' which has allowed me to put a time break on how fast the text appeares in the terminal. Eg. there is a time.sleep(10) after a story which will take 10seconds before another selection for a story is possible. Giving the user a bit of time to read. Otherwise, everything would appear at the same time in the terminal.

Technologies Used

  • Gitpod I used this developer to write the code for this game.
  • Github Was used to host my repository and readme.
  • HerokuTo host my app and deploy here.
  • pep8online.com To validate my code and check for errors

Testing

  1. As a new visitor, I want to easily navigate the terminal to play the game.
  • Here the user inputs his/her name and press enter.
  • Then they get a selection of stories from which they can choose by selecting a number
  1. As a visitor, I want to be able to exit the game when I get tired of playing..
  • When user selects 5 they get a exit message.
  1. As a visitor, I want to be create and read fun stories.
  • After imputing words a fun story is created.

Adicional Testing

  • I continously used the pep8online linter to confirm my code is problem-free
  • I used and tested in the gitpod terminal replaying and fixing issues until I got it right.
  • Tested on the Heroku terminal as I set up automatic deployment so I was able to see exactly how the game was generated.

Compatibility

To ensure that a broad range of users can successfully view/use the site, I tested it across all major browsers on both desktop and mobile.

  • Chrome
  • Mozila Firefox
  • Edge
  • Internet explorer
  • Safari Although this is a web app it is visible on a mobile and tablets, even though it is not responsive.

Validation

Deployment

This project was developed using Heroku, committed to git and pushed to GitHub using git commands. You can clone this repository Here

To deploy this page to Heroku from GitHub repository, the following steps were taken:

  1. In the Heroku dashboard I selected 'New' in the top right hand corner and clicked on 'Create new app'.
  2. Then I Created the App name and Choose my region as Europe. Then selected 'Create app'
  3. Then I selected Settings tab, and scrolled down to 'Buildpacks'. Here I added 'Python' clicked saved changes and then selected 'Node.js' and saved my changes again.
  4. On top of the page I clicked on the 'Deploy' section, and I selected Github as my deployment method.
  5. Then I selected 'Connect to Github, and searched for my repository name and clicked on 'Connect' to link my Heroku app to my Github repository code.
  6. Scrolling down I have selected 'Enable Automatic Deploys' and after this I selected 'Deploy Branch' to deploy my project. I had to wait for it to build.
  7. After it has successfully deployed a 'view' button appeared which took me to my deployed app.

Credits

  • With this project everything seemed pretty straightforward.
  • I have used youtube and google search to look up inspirations on how to aproach a Madlib game. I have not copied or reused anyone else's code in this project.
  • I have watched the following videos for inspiration:
    1. Mad Libs Game
    2. Build a Mad Libs Generator
  • This site was used to get my templates for my stories
  • This website was used to get ASCII code for my images
  • My Mentor Guido Cecilio Garcia Bernal was extremely helpful in breaking all the steps down for me and answering any questions I had Especially in regards to the dictionary.
  • Kasia Bogucka our Cohort Facilitator was very hepful in answering questions and providing us with information from Code Institute.

story-vault's People

Contributors

miatothova avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.