You currently have no poems saved. You can either send in and save a poem or you can add one below.
Add one here:
Sorry no poems found.
We weren’t the ones to come up with the idea for this project, all that credit goes out to Mr. Ketcham, the Young Adult Services Coordinator at the West Bloomfield Library. He wanted to create an interface that allowed people from the community to write a poem and share it directly with the library, where anyone could receive a copy of it. With a Raspberry Pi and thermal printer in hand, he walked down to Coding Club, where we were excited to hear and start building his wonderful idea.
Our initial thought process was to create an API where someone could send in their poem, have it received by a Raspberry Pi (a mini computer), and then have it printed on a thermal printer. Although this sounded simple at first, building this system proved to be quite challenging. The first issue that came to mind was: how could we put poems onto the Raspberry Pi? Getting poems was simple — we could use Google Forms. But the challenge was how could we transfer the poems from Google Forms to the Raspberry Pi? Initially, we thought about manually inserting the poems, but we wanted to find a more efficient solution. So we brainstormed another idea: what if instead of using Google Forms, we built our own collection interface through a website? This way we wouldn't need to worry about manually inserting the poems onto the Pi and could automate the process. And that's exactly what we did.
We designed our website to operate like this: When you submit a poem, our server automatically enters it into a MySQL database. When a library visitor taps a button to print a poem, the Raspberry Pi sends an HTTP request to our server to retrieve a poem from the database. Our server responds with a poem, which the Raspberry Pi forwards directly to the thermal printer. Finally, the visitor receives a freshly printed receipt with a poem.
Our website was built off of a design template made by one of Coding Club members. We integrated it seamlessly with our build and we think it turned out pretty well!
A group of trolls/internet gangsters caught wind of the project. They spammed our site with less-than-appropriate poems and with no security measures this presented a very critical threat. Could anyone just submit anything they want? Obviously, we couldn’t allow this so we developed a moderation system. Each poem that’s submitted needs to be reviewed by a moderator before it can ever touch the printer.
After finishing the website and API, we began toying around with the printer, trying different fonts and font sizes, trying to print images, etc, but we could never get the ink to read clearly. Even after adjusting some settings through the Adafruit Printer API, we were never able to get a crisp image. After doing some research and watching a few videos, we found the culprit was the power adapter. We upgraded it and it fixed the issue.
After weeks of programming, bug fixing, and careful tweaking, we finally finished the project and were ready to present it to the library staff! Soon later Mr. Ketcham and Ms. Tobin made a visit to the Coding Club, and we unveiled our weeks of hard work and they loved it! It was working wonderfully and they were ecstatic to see the idea come to fruition!
A few days later, we visited the library to meet their IT department so we could move the project from our servers to theirs. The process went smoothly. We downloaded our code base from GitHub to their server, set up the MySQL database through their phpMyAdmin database, and everything was seemingly working without any issues.
A year passed by. And nothing. The project was nowhere to be found and it seemed like the project was dead in its tracks. Lost to sit dormant forever until forgotten completely. We could not let that be the case forever.
Shortly after getting our project online, the library website began to get some renovations. During the update process, our project unfortunately got corrupted as well as some potential security issues raised.
We realized we had built an incomplete project. Full of buttons with no destination, labels with missing features, and security vulnerabilities. The terms of service button led nowhere, you were given an ID to track your poems for status updates but no such system existed, and passwords were stored in plain text — one of which even leaked on our GitHub portal! We definitely weren’t professionals. Some things were definitely done sloppy. But we were going to do this right.
The project got a massive upgrade:
These are just the main ones and hopefully the future lies for much more! We’re glad to announce as well that our project is open source which means anyone can contribute to the project or download it for themselves by accessing our GitHub!
A big thanks to everyone who helped with this project!!
Each poem is assigned a unique ID to distinguish it from others. After submission, you receive this ID. You can either save it to your profile under My Poems for easy retrieval or write it down.
If you lose your Poem ID and did not save it, contact a moderator through the contact page. Provide your name and the poem's title, and they may assist in retrieving it.
If you encounter an inappropriate poem, report it through the contact page for review.
Currently, we do not offer notifications. Check the My Poems section on our website for updates on your submissions.
If the website isn't working, please visit the contact page for assistance.
If you're interested in setting up a similar system at your library, contact the Coding Club at West Bloomfield High School via the contact page to discuss potential arrangements. Or visit our GitHub page where we provide a step by step tutorial on how to set up and configure this very site.
You need to be registered in order to access this page.
Below you can see the issues / requests people have submitted via Contact Moderators.
Below you can see the all the moderators registered on this website, add a new moderator, and regulate existing accounts.