Pokedex Project
Download the following zip: pokedex_materials.zip
It contains a csv of pokemon data, as well as some folders with images.
This project will have you write python code to turn this data into a wiki (a "Pokedex")
with multiple pages to display this info in a nice way.
Deadlines, submissions, grading
Phase 1 will be due on Monday the 6th by 8am. Make sure it's up ON HOMER.
I will be checking your submissions in class on Monday.
Make sure your phase one is in "homer.stuy.edu/~user/proj_phase1/..."
- After you upload it, don't modify the phase1 directory, so I can
see your original unmodified phase 1 site.
- In the phase1 submission, upload your phase1 python code
If you are not in class on Monday, make sure you put it up on homer and email
me before 8:00am on monday to let me know. If it's not up on homer when
I go to check it on monday, I will mark you as not having submitted phase1.
If you have not submitted phase1 by monday, you will lose 5 points on your final project,
even if the final submission is complete and on time.
AS SOON AS YOU'VE SUBMITTED YOUR PHASE 1:
- Make a separate directory "public_html/proj_final".
- Don't make any changes to proj_phase1, do all further changes in proj_final
The final submission will be due Friday the 10th at midnight. However, if you submit your
final version by midnight on Wednesday, you will get 3 bonus points on your grade.
For your final, make sure you upload it to homer in your "proj_final/" directory
In your submissions, make sure to include:
- Your name and class period
- URL of your website for that phase (MUST BE ON http://homer.stuy.edu/~usernmae/proj_phase1/... or /proj_final/)
- your .py file
- description of any bonuses or extra features you added
Requirements:
Phase 1 (Due Monday 06/06)
- Your python program should read and parse the pokemon.csv file
- It should write out an html file "allpokemon.html", with a table of all the pokemon
- The table should include each pokemon's number, name, and types.
- The table should not include any of the other columns in the csv
- Add small images of each pokemon as the leftmost column of the table
- At the top of your page, you should have:
- an h1 header for the page
- "Made by:", with your name and class period
- a paragraph that gives your views on pokemon:
e.g., video games are dumb / which version is best / which pokemon is
most likely to be voted homecoming queen
- The webpage you generate should be styled to look nice (or at least distinctive)
- Your webpage should be up on homer.stuy.edu/...
- IF IT IS NOT THERE, YOU WILL GET A 0, so make sure you check it,
ideally from a separate computer or phone.
Phase 2 (Due Friday 06/10 ; Extra Credit if submitted by Wednesday)
- Your program should also create a separate page for each pokemon (i.e. 151 total pages)
- Each pokemon's page should have:
- a header with the name and number of the pokemon
- a text description of the pokemon (note: the csv has "," replaced with ";" in the descriptions)
- the type or types of the pokemon
- a large image of it (i.e. scaled up)
- all of the pokemon's stats, organized nicely together
- a link back to allpokemon.html
- Modify your allpokemon.html:
- each pokemon's name in the table should now link to its individual page
- Again, both your allpokemon.html and your individual pokemon
pages should be laid out and styled nicely
- Again, your webpage should be up on homer.stuy.edu/...
- IF IT IS NOT THERE, YOU WILL GET A 0, so make sure you check the URL that you
submit, ideally from a separate computer or phone.
Bonuses (worth extra points!):
- add a navbar to the top of each of your pages
- here are instructions on how to make a navbar
- Your navbar should be IDENTICAL across all pages (maybe make a helper function for it)
- (the navbar is only really if you have more than 1 entry to put on it, i.e. if you do
some of the other bonuses)
- Since the pokemon are numbered, you can add links to next/previous
pokemon on the individual pokemon pages
- Pick a color to represent each of the 17 types, and color the table
according to each pokemon's type (may need to color just the type cells)
in the table appropriately
- If you're feeling fancy, find/make some icons for the types, and add those in
- Show both the front and back images for each pokemon
- when hovering over a pokemon's image in the table or in next/prev, instead display
its back
- Make a "top 10" page of your 10 favorite / best / most unusual / etc. pokemon.
- You should have at least a few sentences describing what it's a top 10 list of.
- You should have a list of your pokemon, with a text description for each
one of why it makes the cut
- Modify your program to create 17 "type" pages, one for each type (fire, water, grass, etc)
- Each "type" page should list a table of all pokemon that have that type
as either their primary or secondary
(i.e., all pokemon that are at least partially fire-type)
- add links to each type page on allpokemon.html (ideally in a dropdown on your navbar)
- if possible, make sure that all types you put in your html as text are also working
links to the appropriate type page.
- Use the "evolves from" column to add evolution information to your pokemon pages:
- Display which other pokemon the current one evolved from, if any
- Display which other pokemon the current one evolves into, if any
- You should display at least the name and the link for these, not just their number
- Does your evolution info work correctly for pokemon 133-136?
- You can add any other pokemon-relevant features to this site that you like
- If you do, please let me know in the comments-to-teacher box.
TROUBLESHOOTING NOTES:
- IF YOUR IMAGES LOOK BLURRY:
- adding style="image-rendering: pixelated;" to your img tag
will prevent the browser from blurring them.
- images are 96x96 pixels: if changing their size, scaling
the width / height by a whole number will make them look nicest.
i.e. width="192px" (2x size), not width="150px"
- IF YOU GET WEIRD BROKEN UNICODE CHARACTERS:
- make sure your html file starts with the following:
<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
...
- IF YOU CANT SEE A LISTING OF YOUR FILES AT homer.stuy.edu/~username
- On a lab computer, open a terminal
- COPY AND PASTE the following line into it
- echo "Options +Indexes" > ~/public_html/.htaccess