Inspiration
Our team chose to develop this web application because since the start of polytechnic, we have used blackboard to submit our assignments and projects. Thus we thought it would be a good idea to make a competition out of it, by doing so we hope to reduce environmental waste as doing an article writing competition offline would create a lot of paper waste. Instead of doing an ecommerce, we wanted to stand out by doing something different by incorporating a competitive aspect into our application and try to promote the fun of writing articles or short stories.
What it does
This web application is for students to submit their article for grading which is done by the admin, in this competition there is 4 stages: qualifying round, group stage, semi-finals, finals. Students can submit, edit and delete their article and they have a profile feature to see their history of submission. Admin have features like plagiarism checker, article summarizer, grading of article, filter article function, setting of deadlines, advancing students to different stages and disqualifying the student
How we built it
- Postgresql Database
- Express backend
- NodeJS environment
Implemented
- Nodemailer (email notifications)
- Lexrank Summarizer (article summarizer)
- Plagiarism checker
- Sql and Javascript word counter
- CAPTCHA
Challenges we ran into
Skylar
One major issue I ran into was trying to incorporate the new features like tournament(Stages) into our old competition application, the database and SQL script that was used for our old application was not good enough to support the new tournament feature I wanted to implement, to work around I redid some tables of our database and introduced new tables to support the new features we wanted to do. Thus I did not need to change any of our old SQL scripts instead I made new ones to support the new features by using transaction sqls to do what I want the feature to do.
Wei Ji
The most challenging part was in the plagiarism checker, we need to split the user’s article into sentences, and get all the articles in database and break them into sentences. Then, we will compare the sentences. If the similarity of the sentences over 50%, the system will mark down and accumulate all the percentages and determine whether the user copying other article or not.
Cheng Ding
The most probematic issue was implementing the article summarizer feature. There weren't a lot of apis that does what we want to, that are updated and works. I tried implementing a few before finally settling on the first one that works.
Accomplishments that we're proud of
- Enhanced database systems
- SQL and Javascript word counter with word limitations
- Plagiarism checker
- Article summarizer
What we learned
One key learning point was establishing good teamwork and clear communication, there were a few times we have conflicts when merging our codes in GitHub due to lack of communications but after we started implementing a system of communications and delegating each feature to everyone of us to ensure we do not have any conflicts of merging. We also have learnt to trust that each and everyone of us would do our part and finish the parts we were delegated.
Built With
- elephant-sql
- javascript
- lexrank
- nodemailer
- postgresql
- string-similarity
Log in or sign up for Devpost to join the conversation.