frdnspnzr / meeple-party Goto Github PK
View Code? Open in Web Editor NEWAn easy to use tool to see what board games your friends would like to play
Home Page: https://meeple.party
License: GNU General Public License v3.0
An easy to use tool to see what board games your friends would like to play
Home Page: https://meeple.party
License: GNU General Public License v3.0
It must be possible to search for games via name. It must be possible to add games to the collection by searching for them.
Nice-to-have features are:
The dashboard shows all games marked as Want To Play that allow solo play as playable. This may or may not be what a user expects or deems useful so it should be configurable.
To allow for a smooth soft rollout Meeple Party should support an invite code system so I can control how many people can create accounts.
Currenty, every GameBox sends an API request to fetch what friends of mine have the game in their collection. It should allow to prefetch that data similarly to my own collections and the game data itself so the collection query can select the whole lot at once.
Relevant pages:
For example, Star Wars: Rebellion has so many people listed as artists that nothing else is shown.
The friends activity page is currently empty. There should be a list of all my friends with their latest collection status changes.
The error handling is currently repeated throughout many components and in most cases hardly appropriate. There should be a single system in place to allow me to quickly handle errors in a consistent way.
This concerns the API as well as the frontend.
The page just keeps showing the button. A full reload is needed to show the request.
Some game information would greatly enhance user experience when finally able to sort and filter games. Possible candidates I'd personally find useful are:
The game search in its current implementation is not only slow but also creates a whole lot of database connections at once putting enormous pressure on the database server.
Households sharing a game collection with multiple accounts should not need to maintain their collections individually, but should be able to set their Want To Play status individually. I'm not sure about the wishlist, though.
This is made a bit easier with #25 as multiple Meeple Party users could import the Owned status from a single BGG account but manage their Want To Play and Wishlist on Meeple Party. That won't work for people not mainting their BGG collection or in some other situations.
I'm not sure yet how this should be implemented. I'm mostly concerned about the UX here, as I don't yet have a concept how this should be configured and maintained.
The various range sliders in the filter view would be easier to use if they showed tick marks below the slider. That's supported by browsers but sadly Bootstrap seems to strip them away.
It should instead forward the user to the front page.
Users should be able to delete their accounts on demand. All user data should be deleted. Where not technically feasible the data should be overwritten. No user data should remain.
Currently only the default pages and E-Mail from NextAuth are configured. Not only should the looks be consistent, it should also use consistent lingo (eg "sign in" vs "log in").
The game detail page must show information about my friends, ie what friends own this game and what friends want to play this game.
Most images used do not need optimization on our side as they are served from the fast BGG image CDN.
Apart from the performance benefits there's some things I can do afterwards:
Missing:
After a user finishes creating their profile nothing happens. A full reload is needed to navigate to the actual app.
Apart from leaking internal information it's not supported by Next.js, as it's transfering a complex type (Date) from a server component to a client component.
The game list on profile pages of friends currently does not support filtering nor sorting.
The newest changes should be highest up because these are the one I'm interested in the most.
The Dashboard currently shows only some placeholder text. It has to answer the following questions:
Adding more features later on should always keep the Dashboard in mind and make it more useful over time.
Most game collections should be filterable and sortable using various options.
Filter options should include:
Sorting options should include:
Excluded from these options are:
The profile page of friends should contain a list of their friends. I need to strike a balance here: On one hand I really don't want Meeple Party to be a social network with ever-increasing friend lists, on the other hand discoverability of friends is an important feature. As social networks are highly clustered this feature may possibly suffice for most cases without exposing to every other user.
The E-Mail login was broken multiple times for multiple users. Unfortunately I can't even pinpoint what exactly goes wrong right now.
Updating NextJS removed the ability to load custom header files. As the Bootstrap JS file was loaded in the HTML file the update removed it. This broke various functions of the site.
This would allow me to add a testing step to the pipeline that prevents Vercel from deploying when tests fail. There's a guide available from Vercel on how to do it: https://vercel.com/guides/how-can-i-use-github-actions-with-vercel
If possible SonarCloud could still be run like it does now as it may even be beneficial to run code analysis when the tests fail.
The import configuration step currently does not actually call for an import configuration. These things should be configurable:
User profiles must be editable. User profiles should show some additional data, eg:
It should instead just show that no results are found.
The friend page should show games that could be played with that friend. It should follow standard logic for determining what games are playable and should be split into two parts:
After a user is registered their username is whatever the login provider shows as name. For Google that is the real name. As the username is public information a persons real name is visible on their profile page until after the user completes the onboarding process and had a chance to change their username.
It seems to show their collection status instead of mine even though GameBoxes should always show my own status. It's still fully interactive and I can use it to update my own status.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.