"Hey guys, does this sound like a good idea?" We're all familiar with YouTube's video recommendations, but why should we only be recommended videos? We were immediately hooked. If you like a news article, you should be provided with the ability to easily find more just like it.
What it does
Tag Finder cross-references the article that you provide via url with the articles in its database. It compares keywords to give you the top three most similar articles that we have recorded.
How we built it
We started with a django framework. From there we had to figure out what kind of information we would be handling and what we needed to do with it. This influenced how we formed the models for django, which would pave the way for how we grabbed the words off of the page. Viet worked on the NPL program that would find our keywords, Eric built the webpages, and Jon made sure that they all communicated through django. We then connected it to a database, made the program that found the keywords, made a program to send new articles to the database, and a program to compare articles. Eric formatted all of the information we gave him to provide it to the user in a very user-friendly and easy-to-understand way.
Challenges we ran into
Jon was the only one who had ever touched django before, and Eric didn't know python. That meant that the entire thing was going to be a big learning experience. We quickly ran into trouble once we realized that django didn't get along with mongoDB well on its own, and we had to learn djongo quickly. We mainly struggled with django and mongoDB. Everything that we added into django didn't want to seem to work. There was a lot of work put into understanding how django handles routes and how the slashes affect that. Even though we got mongoDB to work with django, the server provider we used, digital ocean, didn't support MongoDB Atlas. We had to switch to a local mongoDB and dump our database's information into the new database.
Accomplishments that we're proud of
Creating as an impressive of a site as we did with as little knowledge about the tools that we used coming into this competition. We're very proud of Viet's NPL program. Without it we wouldn't have been able to do anything with the articles. Jon's proud of his compare program that takes the pages' keywords and compares them to build a ReferenceRating(RR), as he calls it. Eric is proud of himself for being the only one in the group that had no prior knowledge of python, but still keeping up and contributing everything he could to the project. We could not have done this with any one less of our team.
What we learned
To put it lightly? A lot. The group learned basically everything about django from the ground up. We learned about the many struggles of trying to connect a database to a web framework that doesn't particularly like that database. At all. We got to practice using our logic skills on a project larger than we would encounter in school. We also all learned a bit about python.
What's next for Tag Finder
We'll be referencing it for future django/python projects. It will lay the foundation for our future education and endeavors. The important thing is the friends we made along the way. :)