Code Monkey home page Code Monkey logo

vgdates-backend's Introduction

Hi there ๐Ÿ‘‹

vgdates-backend's People

vgdates-backend's Issues

Querying a non-existent future release date breaks the import page

The import page relies on original_release_date which doesn't exist.

Sometimes the API can instead have expected_release_day, expected_release_month and expected_release_year which the import functionality doesn't account for yet.

expected_release_quarter also exists but the user should just be told there's no date since I don't really want non-specific dates on the calendar. You'll start getting stuff like Persona 5 which was announced for Japan in Summer 2014 yet only came out earlier this year.

Restructure the repo

Things are starting to get quite messy and need cleaning up as I start to add more features

Add tests

Now that I'm about to update some parts of the code, I'm realising how nice having tests would be right now...

Doesn't show differing release dates per locale

I forget exactly but generally, games in the US release on a Tuesday while games in the UK release on a Thursday due to some old tradition.

Games in Japan, if they're Japanese developed usually tend to release months earlier as they don't need to be localised.

You also have worldwide release dates where they all release at the same time and, while it doesn't affect me, there are sometimes re-releases in China or Korea months or years after the fact.

Part of that boils down to decide what should be on the list though. Should a AAA re-release in Korea years later be deserve to be on this list more than a hyped up indie game like Cuphead just because personally, I'm not interested in Korean release dates? Hmm, some toggles sound like a good idea...

Test the site in other browsers and on other devices

A list of basics to test out

Desktop

  • Chrome
  • Firefox
  • Safari
  • Edge
  • Internet Explorer (as a bit of a joke, can be ignored)
  • Vivaldi (should be identical to Chrome but I use it personally)

Mobile

  • Chrome Mobile
  • Firefox Mobile
  • Opera Mobile
  • Stock Android Browser

Other devices I can test on for the heck of it (and fun)

  • PSP
  • Nintendo 3DS
  • PS4 Browser
  • PS3 Browser
  • Xbox One Browser (plus with that side snap thing)

Add a background image picker when adding to the database

Rather than source images manually, it's more efficient to just be able to retrieve from the Google Images API (Google Custom Search now) and select an image to use during the database import process.

That way, I can just pass them straight into #2 as well.

Import page should list multiple items

At the moment, the import page just lists the most relevant item without showing much data.

It's also the reason for the long delay as it fetches a long list then parses the first one all before rendering a page.

What it should do is just render the basics about all 5 or 10 then let the user pick which one and then fetch the other data in the background.

Authentication

At the moment, the backend is wide open (which is fine since there's no data that's irreplaceable) but still.

Even just something basic for now would work fine since again, there's nothing irreplaceable nor is the thing even "live" as such.

Adding linting

I unlearnt using semicolons and I need to decide on whether or not I'm going to use them because there's no consistency in this project!

Move assets to a static domain

Eventually I'll probably use cookies (if Express isn't already by default) so I should move assets to a cookieless domain

Make the dates less bland

I don't know about you but things could be a bit more "fun".

Moment.js has a calendar method where you can edit string so instead of having eg; tomorrow's date, we could have "It's coming out tomorrow!" or "Only 4 days left!"

It's just a nice extra though, nothing crucial.

Implement suggestions by @timrnz

  • Duplicate IDs in markup (should be classes)
  • Bottom links will need aria-label attributes
  • HTML needs a lang (lang="en" is fine)
  • Come up with a better name than "post" since posts are not the resource anymore

Import more data for the database

Now that it's getting close to not having to manually enter data anymore, it'd be ideal to add back in some more fields:

  • Giant Bomb ID
  • Description
  • Box art
  • Regional releases
  • Platform releases

Cron job to check for unannounced dates

Eventually, I would like to have a cron job running at night, perhaps around midnight, that goes through any titles queued up and checks if they have dates yet.

That way, I can just load up the site and let it maintain itself for the most part. The only time it would theoretically need updates is with new announcements like E3.

Calendar exporting

I assume it would be possible to have an iCal feed so that users can use the site via Google Calendar or their other calendar of choice

Error handler is not working

If you go to any non-existent page, it just displays [object Object] so something isn't right.

It only seems to be the case with the production error handl-

Oh duh, because there's no 404 page to serve in place of the development env's stack trace, that's why haha

Change branding

Oh, I actually don't like using that word since it's just a hobby project but it's accurate, haha!

I purchased the domain name http://vgdat.es (as in videogame release dates) which is nice and short to type so here's what would need altering:

  • nginx config on AWS
  • file subdomain's CORS header
  • Index template title
  • A record for VG dates
  • CNAME record to redirect http://releases.thingsima.de to vgdates
  • Github repo mentions of the domain name
  • Giant Bomb library custom user agent

Collapsible dates

A request from @TheReaganMorris on Twitter for months to be collapsable. Makes sense if there's a particularly rubbish or non-relevant month although ideally I'll just add filtering and get around that.

Push notifications

This would have #37 as a pre-requisite but once that's done, the site could probably send a push notification to my phone.

I'd find that nice and useful as someone who isn't always checking games coverage outside of large events.

Images need to be removed from the repo

Aside from the somewhat sketchy legalities of storing images that technically aren't mine in a Github repo, it's not feasible to keep storing images in the repo with an only expanding roster of titles in the seed file.

Database dates don't conform to ISO standard

This has been an issue for a while but worth addressing so my logs will be cleaner

Deprecation warning: value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: January 21 2017 GMT, _f: undefined, _strict: undefined, _locale: [object Object]

It works for now but it just needs a slight modification to the format.

Routes have a lot of repetition

A heck of a lot of the routes repeat the object creation logic whereas really it should just be a function that takes parameters and builds the object or something.

Rewrite the README

At this point, it doesn't really reflect the state of the project as much?

About page

I keep forgetting that I need some sort of about page or something.

Also for credits with anyone that helped/helps me out

README is out of date

Now that the project uses Rethink, the Docker info is out of date (and I use it myself so good to have it updated)

Randomised taglines

I'm a fan of sites like NPM and others I can't think of where the tagline rotates every time you visit the site. That'd be neat to have.

API documentation

It doesn't really do much at the moment but better now than later I suppose for noting how to use the tiny API this project has.

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.