Story Sourcer is a crowd sourced bank of stories for language teachers. Prior to my career as a developer, I worked as a language teacher using a method called Comprehensible Input (CI). CI is based around stories and storytelling. Teachers use all sorts of stories from folktales to ones they made up. The stories are adapted into language that the student's can understand, requiring the teacher to translate them into simpler vocabulary.
As a teacher, this was something I spent a ton of time doing. With Story Sourcer, teachers can share their adapted stories with one another. The stories can then be filtered by various criteria such as the target age of students, the story's source, or the length of the story to ensure they can find stories that meet their student's needs.
Story Sourcer is a crowdsourced bank of stories for language teachers. Prior to my career as a developer, I worked as a language teacher using a popular method called ...Comprehensible Input (CI). CI is based around stories and storytelling. Teachers use all sorts of stories from folktales to ones they made up. The stories are adapted into language that the student's can understand, requiring the teacher to translate them into simpler vocabulary. As a teacher, this was something I spent a ton of time doing. With Story Sourcer, teachers can share their adapted stories with one another. The stories can then be filtered by various criteria such as the target age of students, the story's source, or the length of the story to ensure they can find stories that meet their student's needs.
Read more
Role
Independently developed including, front-end design, back-end development, and authentication.
Goals
My primary aim was to develop a back-end database using PostgreSQL with multiple tables. In addition, I learned how to encrypt login information.
Challenges
I learned a lot while developing this project. One challenge I faced was understanding how to code for a filtering function, allowing the user to search based on multiple criteria. I've included this snippet of code below.
Future Plans
I am actively working on this project and would love to allow users to save their favorite stories and access them at a later time.
app.post('/search', async function(req, res){
const {theTitle, theAge, theMood, theLength, theLevel, theSource} = req.body;
let results = await Stories.findAll({
where: {
[Sequelize.Op.and]: [
{title: {[Sequelize.Op.iLike]:'%' + theTitle + '%'}},
// // {alt_title: {[Sequelize.Op.iLike]:'%' + theTitle + '%'}},
{age: {[Sequelize.Op.iLike]:'%' + theAge + '%'}},
{source: {[Sequelize.Op.iLike]:'%' + theSource + '%'}},
{mood: {[Sequelize.Op.iLike]:'%' + theMood + '%'}},
{length: {[Sequelize.Op.iLike]:'%' + theLength + '%'}},
{level: {[Sequelize.Op.iLike]:'%' + theLevel + '%'}}
]
}
})
// console.log(results);
res.render("search", {results})
})
Ⓒ 2022 Heather Houde, Web Developer