Inspiration: I like to write stories and I ended up writing quite a few over the past couple of months, so I thought this project would be fun way to catalogue my stories and would be more efficient than searching through my multiple drafts in my Google Drive.

What it does:

You can search up a story by its name; however, say you don't remember the exact name of the story but remember a character from it, you can search up a story by searching for the character within it as well.

How we built it:

It was built in Python, using Django. Two url patterns were implemented, one for if the user entered the story name, and one for if they entered a character name. To actually hold the data three tables were created in my database. One for the stories, one for every character in every story, and one that connected the corresponding IDs of the characters to their stories. If the user entered a story name the program would go straight to the story table and pull the corresponding story. If they entered a character the program would first check to seen how many stories this character appears in. It does so by pulling the character's ID from the character table and going through the connector table to see how many times the ID appears. If the ID only shows up once that the code will go to the story ID that matches and open that story. If a character was present in two or more stories then the program will list out all the available stories for the user and present the urls in the first format, the one that goes straight to the story table, for the user to copy into their browser.

Challenges we ran into:

One of the biggest hurdles I had was to figure out what I wanted Story Finder to do in the case that multiple stories had the same character and how I was going to execute my plan. In the end three tables were constructed. The struggle then became wrapping my head around using the foreign key (from the table the connected stories and their characters) to present the necessary information I wanted it to.

Accomplishments that we're proud of:

This is my first time trying to code an app, so making something functioning felt like a huge accomplishment to me.

What we learned:

I learned a lot of new functions I can utilize in Python and Django, for instance the use foreign keys, creating databases, managing migrations, how to create url patterns (making sure they are differentiated from each other), and how to pass information via a url path.

What's next for Story Finder:

Add the rest of my stories on there and since this was more of learning experience I would try to improve the site's functionality and make it more visually appealing then try to make it a public site. I'd also like to add a function where users can input characters and receive a chat generated story with said characters.

Built With

Share this project:

Updates