Table of Contents
CASO is a course project by Carlos Hernandez, Gerardo Aguillon Jr, Angel Torres, and myself, Jesus Hernandez. We are all computer science students at the University of Texas Rio Grande Valley (UTRGV). This was our final project for the "Object Oriented Programming in Python" course, taught by Dr. Erik Enriquez.
Below I explain how the website works. There is also a link to this website under the "About" tab on the right side of the screen.
- Python: For most backend work
- HTML and CSS: For most frontend work
- Bootstrap: Used along with HTML and CSS
- SQLite: Used for the database, along with SQLAlchemy
- Flask: Framework used for faster website development
- OnRender: Used to host the website online for free
- To clone the repo
git clone https://github.com/Yizushdz/Web_Final_Project.git
All installs needed should be contained in the requirements.txt. Simply run:
pip install -r requirements.txton your command line after cloning the project.
The website allows users to sign up if they don't have an account, or log in if they have an account already.
Once you are logged in, you will land on the Home page, where you will see a list of all your decks, if you have any.
If you don't have any decks, you can create one by clicking on "Add New Deck", where you will be prompted to enter the name of your new deck.
Click "Submit", and your new deck will appear on the site.
Once you have created a deck, you may want to add some LeetCode problems that you need to do. If you navigate to the "Practice Problems" tab on top, you will see a list of LeetCode problems. There is a dropdown menu that allows you to only see problems from the selected difficulty. These problems were put into a list (.TXT file), as I could not figure out a way to extract all problems from the website, like using an API.
From this list of problems, if you see any problem you would like to add to your existing deck, simply click on the '+' icon, and you will be prompted to choose the deck to which you would like to add the current problem to.
Now, if you navigate to your deck page and click on a deck, you will see all the problems that you have added.
Each problem in your deck will flip like a flashcard when you hover over it. Once it turns, you will have a direct link to the actual LeetCode question from their website.
This is it. It's a simple project that leverages the tools from Flask framework.
- Add Difficulty selection on "Browse Problems"
- Add delete option inside a deck
- When signing up or logging in, keep the entered information in the box if it fails to sign up or log in.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Jesus Hernandez - LinkedIn - [email protected]
Project Link: web-final-project.onrender.com