Skip to content

Yizushdz/Web-Development-Project

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn

Table of Contents
  1. About The Project
  2. Built With
  3. Cloning Repo
  4. Prerequisites
  5. Breakdown
  6. Improvements
  7. Contributing
  8. Contact
  9. Acknowledgments

About The Project

homePage

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.

Built With

  • 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

(back to top)

Cloning Repo

  1. To clone the repo
    git clone https://github.com/Yizushdz/Web_Final_Project.git

Prerequisites

All installs needed should be contained in the requirements.txt. Simply run:

pip install -r requirements.txt

on your command line after cloning the project.

(back to top)

Breakdown

The website allows users to sign up if they don't have an account, or log in if they have an account already.

logIn signUp

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.

deckPage

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.

deckCreation

Click "Submit", and your new deck will appear on the site.

deckCreated

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.

difficultyChoice

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.

AddtoDeck

Now, if you navigate to your deck page and click on a deck, you will see all the problems that you have added.

DeckContent

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.

FlashcartLink

This is it. It's a simple project that leverages the tools from Flask framework.

(back to top)

Improvements

  • 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.

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Jesus Hernandez - LinkedIn - [email protected]

Project Link: web-final-project.onrender.com

(back to top)

Acknowledgments

(back to top)

About

A simple website to create flashcard decks with LeetCode questions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •