GithubHelp home page GithubHelp logo

davidajohn / my-guitar-collection Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 3.21 MB

Angular application for guitar collectors using Material UI and a complete Firebase back-end solution (including authentication, data and image storage, and cloud hosting).

JavaScript 2.10% TypeScript 69.20% HTML 21.58% SCSS 7.13%

my-guitar-collection's People

Contributors

davidajohn avatar

Watchers

 avatar

my-guitar-collection's Issues

Dynamic home page

This is long overdue - the homepage needs to be generated dynamically from real data now that the 'add new guitar' functionality is in place.

I have photographs of my own guitar collection, let's add them and then show them in descending date order initially, and then later, allow them to be viewed in order of popularity once the 'like' functionality is implemented.

Add a footer

Adding a footer would be a simple way to improve the look of the site.

It doesn't need to do much - perhaps just link to an About page that explains the project.

Update from Angular v9 to v11

Before moving on with the rest of the project, it would be good to update from v9 of Angular to v11. There are always performance gains in terms of bundle size with each version.

It should be done in two stages, v9 to v10, then v10 to v11.

Head to: update.angular.io

Remove Tailwind?

Using Tailwind has somehow caused a problem with the main page layout, even though I can't find the direct cause.

Perhaps there's an issue with the way Tailwind interacts with angular Material.

It may be best to remove Tailwind and stick to using flexbox and/or css grid for the layout instead.

Resize cards on home page

Are the cards on the home page too big?

Even on a monitor at 1920x1080 they feel a bit much. Let's look for a way of presenting info to the user that is more about the visual aspect rather than showing too much text, even if it means moving away from the Material card component.

You know what guitar players are like... we just want to droll over pictures anyway.

Unit testing

While there are comparatively few components and services at the moment, there really should be some more unit tests added to the application.

I'll also think about integration tests and bringing in cypress at some point too.

De-normalize the guitars collection

With Firestore being a NoSQL database, there will need to be some duplication of data between the players and guitars collections.

Although the PlayerId is stored in the guitars collection, it doesn't allow us to get the player's display name or their profile picture via a traditional SQL-style join.

The displayName and profileImage fields will need to be held in both tables. They can then be kept up to date with a cloud function if the user ever updates their profile. Ultimately, this is about quick read access to the collection of guitars.

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.