Inspiration
We all know what it's like to see our code not working just because we forgot to close a parenthesis. Besides, if that's a huge project, or an assignment to submit for our exam, facing the problem of not having balanced parenthesis and proper nesting creates a lot of difficulties. Moreover, reading through all the codes to find the missing parenthesis is an exhausting process. This problem can arrive for other educational purposes too. Thus, we, Three Flaskateers, came up with this project to solve this issue effectively.
What it does
Parenthesis Validator is a web application that checks the validity of balanced parenthesis for all types of text files. First, it asks the user to either upload a file or a string. When they choose to upload a file, we'll redirect them to a new page where they can upload one file at a time. Then, we'll return the file name and if it's balanced or not. If it's balanced, we'll return True; if not, we'll return false and will give the index error. If the user uploads a not supported text file, we'll ask them to upload a different file. If the user chooses to upload a string, we'll redirect them to another new page. The user can type out their string and press 'check'. Then, we'll return the results similar to how we did it on the text file page, validating their parenthesis usage.
How we built it
We built the web application using Flask, a web framework tool using Python. The algorithm and scripts to run back-end functions were made with python. We utilized sqlalchemy, a database tool for python to store data from the app. Finally, we made it aesthetically pleasing with HTML and CSS!
Challenges we ran into
Learning flask was an incredibly challenging part. Setting up the environment and working with the database proved tricky when trying to access data. Also, linking from several different .html to the .py files also proved difficult to track. We had some troubles using git as well when contributing to the same files. We decided to branch out and allow one member to focus on the front end while still working on the back end which smoothed things out.
Accomplishments that we're proud of
We are proud of each other for working diligently and with a good attitude all the time despite being from different countries(and time zones) and just recently meeting each other on Friday. We are also proud of our mostly functional application as it satisfied almost all the goals we initially set out for it to do.
What we learned
I think we all improved our git skills and collaboration skills mainly. We had to figure out how to plan with each other about our varying schedules and backgrounds to make an effective end product. We also personally learned some new skills through the use of flask, python and front end respectively.
What's next for Parenthesis Validator
Future Idea: Take in multiple files to check at once
Currently, the program is limited to a single file at a time. If we wanted to read multiple files we would have used a variable arguments method, so the user is not just limited to a single file, but the user can upload as many files as he/she wants. The updated algorithm will scan each file for errors and print the results. For files, our algorithm opens the files in Read Mode and then create a stack, and starts reading one character at a time from the input file until the EOF is encountered, and what it does is: it push uses the same string-based algorithm but on each character of the file, maintains the stack the same way, and print the results.



Log in or sign up for Devpost to join the conversation.