Lizard Catalog App
This is a Lizard Catalog app created as project 3 of Udacity's Full Stack Web Developer Nanodegree. I created this app to practice CRUD (create, read, update, delete) database operations and to practice incorporating 3rd-party frameworks and modules into my codebase. It is currently run on localhost, but it could be deployed to the web in the future.
What exactly is a Lizard Catalog App?
I believe coding something I care about is far better than coding without drive or purpose. Project 3 calls for students to create a basic catalog app with two data points connected in a parent/child relationship (like in this sample website).
Instead of creating an app to organize items within categories (generic and boring), I created an app to organize lizards and their hobbies! Is this practical? No, not really. But it brings me a smile every time I boot it up :).
- Supports secure user accounts
- Supports Google and Facebook authentication
- Enables image uploads from image urls for an enhanced UI experience
- Logged-in users can add, edit, and delete their lizards and lizards' hobbies from the database
- Every data point added to the database is viewable, but only the user who added the data can edit or delete it
- A recent activity feed is displayed on the home page, showing the latest updates to the database
- Data can be access via JSON and Atom Endpoints
- Secure shell into the vagrant VM installed in this github repository.
- Navigate to the top-level directory and boot up the app with the command
python lizardCatalog.py. Press ctrl+c to shut down the app.
- Open an internet browser and enter the url
If you want to populate the lizard database with data automatically, use the testData.py script.
Here's how to run the script:
- First follow the setup steps to get the app up and running.
- Create a user by logging into the web app. Record the user id of your user. It will be shown in the flash message.
- In the top-level directory, run this command
python testData.py [user id]subbing in "user id" with your user id.
Python third parties used
All dependencies are part of the vagrant package and require no updates by the person forking the repo.
Displays all lizards
Displays all hobbies of a particular lizard
Displays only one hobby
Displays all lizards
Displays all hobbies
Displays all lizards and hobbies
###localhost:8000/changes.atom/ Displays all content of the recent activity feed