1e4 / topsite Goto Github PK
View Code? Open in Web Editor NEWOpen source topsite / toplist application written in Laravel
Home Page: https://top-pbbg.com
License: MIT License
Open source topsite / toplist application written in Laravel
Home Page: https://top-pbbg.com
License: MIT License
When exiting from a vote (Going out) there should be a "holding" page that redirects them. This should contain ad slots and info about the game with a redirect in 10 seconds or click here.
Currently there is no settings section on the admin panel. This is required for a few things.
SEO and meta tags need to be configurable via the admin panel, currently none exist
The homepage should list;
Each game that is listed should present the following information
Now we've moved the repo you need to update Code Climate and Travis CI
Allow rating of listings out of 5 stars, maybe even expand it into sections sort of how JustEat deals with feedback on food.
/5 Gameplay - How the game plays and mechanics, higher star is better
/5 Story - Higher star is better if the game has a story
/5 P2W - How P2W works, higher star = less p2w
Also allow comments along with a rating
Currently images can only be saved locally, which is fine short-term, but for a larger topsite, S3 will be cheaper, faster, and less burden.
A simple contact form allowing administrators to receive feedback/complaints etc
Allow payments through Stripe & Paypal to give your game a premium listing
When deleting a category it fails if there are games in this category.
Possible solution, set category to nullable and have a uncategorized section on the menu, move all games in that category to null then delete the category.
Basic contact page with adminisrative email / contact form. Also implement contact form in the admin side, which when replying to, allows you to send an email to that person.
Incentives to vote, basically a callback URL that posts back to the designated URL based on the game with any parameters the user has sent across in the first place
Allow adding social media to listings such as Facebook and Twitter, also allow the user to verify that they own the account
The admin panel should be simple and easy to navigate
Probably just use SBAdmin (https://startbootstrap.com/themes/sb-admin-2/)
Allow Discord webhooks for when a new listing is posted/approved, when a new comment/rating is given.
This is more for the strategy to refactor some duplicated code out into their own classes. This will make the codebase more testable, easier to reason about, and a lot cleaner.
There are several pieces around the codebase where code is copy-pasted, sometimes identically and sometimes with very minor differences.
For example, building out the category array:
$categories = [];
$categories["none__"] = "-- Select Category --";
$categories = array_merge($categories, Category::all()->pluck('name', 'slug')->toArray());
My suggestion is to refactor this out into a service class architecture. I'd also be happy to tackle this if it's the direction the team wants to go.
What this would look like is:
app/Services
folder to house our services.CategoryService.php
.public function edit(Game $game, CategoryService $categoryService): View
{
$categories = $categoryService->buildArray();
....
}
Then we write a unit test for the CategoryService
methods, making sure the outputs are what we expect.
There is a bug in which it won't let you vote each day, but rather once a month. This is a pretty critical oversight.
When adding categories, if they are not sequential id's the select box will fail
The categories should collapse as a second menu when on mobile
The category seeder is currently directly in DatabaseSeeder and should be separated out into CategorySeeder
Tests are currently broken and need fixing.
If selected the game can give an RSS feed to post into the stream on the listings page.
Once you have added a game, you may add extra details to it that are optional.
Screenshots
Incentive URL
This will post back to the specific URL including whatever arguments were sent to the vote script so that games can verify the user voted
Setup dusk for integration tests and start work on a test suite for it
After logging in and being verified you should be able to add games, as some owners run multiple games, it makes sense to have 1 account that allows multiple games under it.
When adding a game the following fields are required
Integrate Travis CI
https://discourse.pbbg.com/t/standardized-tags/259
Also allow user suggested tags?
Some controllers and naming is odd, such as ListingController
. Should rename and generalise to listings, or to games.
There needs to be a listing page
2 things need doing for this
Registration requires the following fields;
An email should be sent to activate the account, once activated they can login and add their game, this is different to other top sites where they require a bunch of info in advance, we want the process to be easy
Edit Account
Here you can alter your password and email.
An email should be sent if the info is changed to let the account owner know.
When going onto manage your games, there should be a snippit you can place on your own site to vote with
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.