Coder Social home page Coder Social logo

jefflomacy / villagerdb Goto Github PK

View Code? Open in Web Editor NEW
214.0 14.0 50.0 4.74 MB

Animal Crossing Item and Villager Database

Home Page: https://villagerdb.com

License: GNU General Public License v3.0

JavaScript 78.58% HTML 0.96% Dockerfile 0.12% Shell 0.27% Less 2.04% Handlebars 18.03%

villagerdb's Introduction

VillagerDB - Animal Crossing Database

Introduction

VillagerDB is our attempt to create a comprehensive, open-source database for mainline Animal Crossing games. The scope of this project includes Animal Forest, Animal Forest +, Animal Crossing, Animal Forest e+, Wild World, City Folk, New Leaf, and New Horizons. Furthermore, we aim to provide tools to the community such as list creation and management.

Currently, the database includes one entity per item across all games, but in the future we may split the data up by game in attempt to accurately portray items and villagers from each game as accurately as possible.

Data

All the metadata in this project is stores in JSON format, and will always be publicly accessible. All of the JSON under the data/ folder is public domain.

License

All code as part of this application is licensed under GPLv3.

Contributing

Find bugs or want a feature? Submit a ticket, and we will investigate as time permits. If you are interested in developing please check out our Contributing Wiki. You can also join our Discord Server for support, to chat, or discuss the development of the project.

villagerdb's People

Contributors

abananapepper avatar ehsankia avatar epiceric avatar jefflomacy avatar trundlr avatar veroxzik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

villagerdb's Issues

Suggestion: Able to select how many results per page and how to display the results

i noticed that it was hardcoded to only have 25 items per page and when you got over a thousands items to go through to find the one you want will lead to a lot of downtime so being able to select items per page preference would be great as well as being able to select how to display that result like Thumbnail, name without images, List style of various detail levels etc.

Request - getEntityImageData cropped url

For using item images inline or as icons some images have lots of transparent pixels padding them.
Could a new image size be added to getEntityImageData?
Screen Shot 2020-04-15 at 11 53 24 AM

Generating a new version of an image with the transparent pixels cropped, so that the image fills its entire canvas would allow for using images inline.
Usage Example:
Screen Shot 2020-04-15 at 11 48 05 AM

Suggestion: Support for asset variants

In Animal Crossing: New Horizons, there are many obtainable furniture and apparel assets which have color variants, such as the Lamp Post, Wooden Table, or Biker Jacket.

It would be useful as a user to have the ability to track collected or desired variants on the web app using lists, and to describe how variants are obtained (purchase or AC:NH's customization mechanic)

VillagerDB bot for Discord

Hello! I am very interested in creating a Discord bot that allows lookup of villagers and items using your database. Using node.js. If this is something you'd like to discuss please contact me on Twitter if you can, @vulturehime

Thanks!

Filter to New Horizons by default

On search and on all menu items, we should just filter to New Horizons only. This game is the primary traffic driver for a few years, so this is worth doing.

Song Association and Cleanup

Song names should be changed to match the item slug and the validity of villager song associations should be reviewed. For example, some villagers claim to have always had "Bubblegum K.K." as their song, which is impossible given that song only came out with New Leaf.

In the end, villager pages should link to the song, and the song should show a full list of what villagers have that song.

Recipe origin datapoint

We need to decide how we are handling recipes, and once we do, we need to source recipe origins (such as Nook's Cranny, villager, event, etc).

User Catalog

Allow users to create a catalog of items they own and display it on their profile. There are several technical ways to implement this, but the overall feature should be something like:

  • Next to the "+ List" button, add another one called "+ Catalog".
  • On the user's page, below their lists, provide some kind of user interface to display their catalog. In my view the best would be the existing browser component used on search and category pages, but how feasible this is still needs to be determined. Using the browser component for this may be a v2 feature for this ticket.

Allow users to change their names

Multiple people have already requested username changes for their accounts. We can likely implement this with no issue, but we need to decide if we should redirect dead usernames to their newest/most current or not. We should also decide if there is a limit on how often users can change names.

Villagers with unknown birthdays should not display "Unknown"

Currently, villagers with no known birthday has "unknown" fields in their profile. This occurs in both the auto generated paragraph and the birthday/zodiac field.

Some villagers that don't appear in games after AFE+ seemingly should not have birthdays in the first place. This data should be looked into and corrected if necessary.

Facilitate Sharing

Need to add Twitter/Facebook and "Copy Link" buttons to user and list pages to facilitate sharing.

How should this be licensed?

Hi, I'm working on a tool that relies on item data, and this seems like a useful resource. However, I don't see any license on the code or data, which implies that all rights are reserved, and would prevent derivative works.

Would you mind considering an open source or Creative Commons license? For what it's worth, most Node projects use permissive licenses like MIT or ISC. Creative Commons licenses are also often used for data, and allow additional restrictions like noncommercial use.

VillagerDB Twitter Bot

Write a Twitter bot to post daily birthdays and random items to Twitter.

Building with nodejs.

Clothing Association

Villager clothes should be transformed into item slugs. Villager pages should link to the clothing item page, and the item page should list all villagers that wear a particular article of clothing.

Suggestion: add other languages

Doing a wish/"what i've got" list is 10 times harder when your game is in a different language from english. Don't know how much time consuming it is but if possible adding the other languages would be fantastic.

Item Colors Association (Feng Shui, etc)

Many items have a primary and secondary color in their non-customized/refurbished state. The item database should list this when it is available and it should be shown on the frontend.

RV Association and Special NPC Creation

The item data currently lists what RVs the item can be obtained from, but this data is not being utilized on the front end at all. Items should list the RVs they can be picked up at (with a link to that villager's page), and villager pages should list all of their RV contents.

A precursor to this task is making pages for many of the special characters like Isabelle and Rover, because some items are only obtainable in their RVs.

Game Association Verification

I discovered that Klaus was improprerly listed as being in every game despite that being incorrect. It looks like about 30 villagers are improperly assigned to GCN, so it's probably a good idea to review all associations and remove all the invalid ones.

Birthday Calendar

To go along with the top banner, it would be nice to have a calendar that shows all birthdays.

Autocomplete returns non-unique entries

Search for "Petu" and you'll find that Petunia is listed twice. Should theoretically be a one liner fix, perhaps? Maybe not quite one line, though--but the list should be uniquified before being sent to the client.

Change item capitalization

Reformat items to use capitalization Item Name instead of "item name" or "Item name." The games themselves aren't super consistent so it just looks better.

Suggestion: Make the raw json data, its own sub repo

Seperating the raw data out into its own sub repo would mean the differently licensed sections are entirely seperate.

It could also make the project of collating the raw data more streamlined by seperating out tooling for it.

Format numbers so they are human readable

Use commas on numbers everywhere, including:

Item bell cost
Page numbers
Total item counts

The item tile sizes need to always show one decimal place, e.g. 1 x 1 should be 1.0 x 1.0, etc.

Show what recipes use an item

We currently show the recipes in one direction, but it would be nice if items also showed what recipes they belong to.

Recipes

As we know the new game is going to support recipes, so the item pages need to display this information when it is available. Bear in mind that recipes can consist of two types of items:

  • Bae items, like tree branches, and
  • Craftable complex items, in other words, items that are craftable.

For example, a trailer showed that the "oil-barrel bath tub" requires 1 oil barrel, 1 campfire and 1 stone to build. Presumably, the oil barrel and campfire are also craftable items. But maybe they won't be. So, let's add a third type:

  • Non-craftable complex items

The item detail pages need to show:

  • The highest level recipe (using all craftable / non-craftable complex items)
  • The lowest level recipe (all craftable / non-craftable items and how many total items of raw material are required to get to this item).

"Where to get" text cleanup

The "where to get" text has some errors. The entire database should be uniquified and reviewed to make sure that anything erroneous/ugly is cleaned up.

fixes necessary

things that I've noticed:
-Wooden Washtub image isn't png of item, instead pic from diy page
-Wall-mounted TV (20in) and (50in) dont have images
-Winnie's poster and picture are in the Indoor/Outdoor Items category instead of the Photos category
-There is an additional item titled "Gray-struped Wall" with no image. This needs to be removed.
-There is 2 "Joined-mat Flooring" items.
-"Nook Inc. Botanical Rug" has no image.
-There is an item titled "Stirped Flooring" that needs to be removed.
-"Café K.K.", "K.K. D&B", "K.K. Étude" all have non-png images.
-There is a fish titled "Cruician Carp" that needs to be removed.
-There is a fossil titled "Corpolite" that needs to be removed.
-There are 2 each of "Opthalmo Skull" and "Opthalmo Torso". Remove the ones with no image.
-The "Stache and Glasses" that shows up when filtered by Horizons items has the New Leaf image.
-The dresses titled "Orange Dress" and "Wood-egg Outfit" have no image.
-The hats titled "Bunny Day Crown", "Orange Hat" have no image.
-There are 2 hats titled "Paisley Bandana". Remove the one with no image.
-The top titled "Café Uniform" that shows up when filtered by Horizons items has the New Leaf image.
-The top titled "Hard-knit Tank" needs to be removed.
-The top titled "Privét Tee" has no image.
-The villagers Audie and Megan have non-png images.
-Many of the ACNL flowers have the ACNH image.
-The flowers titled "Orange Hyacinths", "Orange Lilies", "Orange Roses", "Orange Tulips", and "Orange Windflowers" have no image.
-The fruits titled "Apple" and "Orange" have the wrong images assigned to the items.

User Display Names

Right now users have to enter a lowercase alphanumeric username that is url friendly. Someday it would be nice if the display name and username were differentiated via getSlug.

Sorting lists in alphabetical order

Having the option to order your list in alphabetical order without doing it manually. Also, when adding new items to a list it would be good if they added in alphabetical order by default and not to the end of the list. This would make matching your catalog easier.

Random page link

Want a link in the top right corner of pages (below the search bar) that will take you to a random villager or item page.

Item Variations

Items in New Horizons have variations, and we need to allow users to select which variation of an item they want when they add it to their wishlist. In version 1 of this, we will just have textual descriptions of all item variations, but in version 2, we can also display the specific variation images.

Add asleep/awake indicator to villager profile pages based on user's local time

It appears that personalities determine the waking/sleeping time of villagers. We can use this, combined with the user's local time, to tell the user if a villager is currently awake or asleep. Because it is based on the user's local time, this would have to be frontend JavaScript unless we can think of something better to somehow determine it on the server side.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.