Link: https://github.com/320834/Poemsite
Design:
Phase the name of our project is a website that facilitates the creation of interactive poems and short stories. The user can create these poem templates which allows the user to create stories. These templates must have spaces or blanks in which create the interaction for other people. Other users can fill in those blanks to create different stories. Below is the process of creating a template.
Once a template is created, the users can go to the template page to view the created templates. The user can select a template in order to fill out. Below is the design of the template page.
The user selects one of the templates by clicking on one of the moons. This will prompt them to another window in which they can fill out the blanks of the template. Below is an example if a user clicks on the puppy’s template.
The user can choose from randomly generated words to create their stories. At the end, the poem is displayed, and the user can choose to publish it for everyone to see or delete it forever. Below is the result of filling the poem and the poem results appear.
Process:
The creation of this website required for us to go beyond the standard html, css, and javascript format. Instead, in order to keep track of the templates made and the number of uploads, we needed a server to house the entries and templates. Therefore, the framework to we decided on is express and mongodb. Express will serve as a backend server that will handle the http request, while the mongodb will serve as our database for the entries. The plan went according to plan as we were able to successfully implement the server and the database to develop the website. The user can upload their templates to the database and each of the templates can be fetched by other users.
The issue we ran into was the problem of scalability. If thousands of poem templates or entries were created, how would the server handle the requests of fetching thousands of entries and templates. The time and the strain of the requests can be limited by the server. To resolve the issue, we made each poem template under 10 lines in order to limit the data transferred. The second is to use a database to store the templates and entries. Originally, we were going to store the entries and templates on a local file. However, the use of database will lower the cost of writing and finding documents.
The other issue is how to deliver our message of wanting the users to create their stories online without any excessive instructions. We wanted our design to be as intuitive as possible and allow the users to understand on how to use the website. Thus, the design of our website is trying to reflect those goals. The introduction page is the first page the user sees in order to let them know the goal of the website. Then, the user is sent to options page were they can chose to either create a template, fill a template, or look at user generated poems. We hope the design was intuitive enough let the user know of our goal.
Future:
The project is considered a success. We were able to accomplish our goals. If we had more time, we would like to tweak the design more. The design could be better. Some of the elements based in pixels rather than percentages. Furthermore, we would like to add more options regarding the selection of the words. For example, we could implement a theme in which the user can choose a set of words.