You are browsing as a guest. Sign up (or log in) to start making projects!

sqush

  • 46 Devlogs
  • 429 Total hours

My goal is to make a platform similar to itch.io. It's a big goal but I'm motivated to do it.

Open comments for this post

44m 20s logged

Didn’t know that I could format it at the shipment so there is the text again formatted. Also I fixed a little download error ( The Site didn’t have the test files in the folder)

Sqush is an indie game store with a comic 90s look.

You can add games as a dev or use the platform as a normal user.

You can interact with others message them and earn badges.
And of course you can download games.

Issues:

The backend was one of the hardest things I have ever done.
I had to fix so many errors along the way (see devlogs).
One time I forgot to initialise a value the other time my complete logic was bullax.
Sometimes I even pushed code without proper testing. It did not turn out well.
And then there was how I organized the code first. It was messy and hard to read. Implementing something new could take ages because of the code not being easy enough to read through.

Also some platforms just hated me for no reason and made it harder for me to add something new.

The good side:

On the other hand it was extremly refreshing to try something new and fail misrebaly at it. I can now propely set up automatic emailing systems use payment services like Stripe, make automatic file scanners, hash password, make upload systems that will hopefully not fail after 1000 game uploads, even learnt a bit of drawing (name me Picasso) ,migrate databases (couldn’t actually do it before. Even tho its easy) and set up servers for the site ( even if I did use AI for that last part).

What I didn’t do:

My plan was actually to put up a real game on this platform and actually test it.
But school is starting now and I don’t know if there is still enough time for it (Cause I signed up for something big).
Stress Test it to your’e liking but PLEASE dont upload thousands of 2 GB files cause that costs money.
This name is peak btw. I don’t accept other opinions.

And for testing: Dev-Login: developer / test | Stripe Testcard: 4242 4242 4242 4242 (Exp: 12/34, CVC: 123, Zip: 12345)

The full Feature List is on the Readme on git.

0
0
16
Ship #1 Changes requested

Sqush is an indie game store with a comic 90s look.
You can add games as a dev or use the platform as a normal user.
You can interact with others message them and earn badges.
And of course you can download games.

The backend was one of the hardest things I have ever done.
I had to fix so many errors along the way (see devlogs).
One time I forgot to initialise a value the other time my complete logic was bullax.
Sometimes I even pushed code without proper testing. It did not turn out well. And then there was how I organized the code first. It was messy and hard to read. Implementing something new could take ages because of the code not being easy enough to read through. Also some platforms just hated me for no reason and made it harder for me to add something new.

On the other hand it was extremly refreshing to try something new and fail misrebaly at it. I can now propely set up automatic emailing systems use payment services like Stripe, make automatic file scanners, hash password, make upload systems that will hopefully not fail after 1000 game uploads, even learnt a bit of drawing (name me Picasso) ,migrate databases (couldn’t actually do it before. Even tho its easy) and set up servers for the site ( even if I did use AI for that last part).

My plan was actually to put up a real game on this platform and actually test it. But school is starting now and I don’t know if there is still enough time for it (Cause I signed up for something big).
Stress Test it to your’e liking but PLEASE dont upload thousands of 2 GB files cause that costs money.

This name is peak btw. I don’t accept other opinions.

And for testing: Dev-Login: developer / test | Stripe Testcard: 4242 4242 4242 4242 (Exp: 12/34, CVC: 123, Zip: 12345)

The full Feature List is on the Readme on git.

  • 45 devlogs
  • 428h
Try project → See source code →
Open comments for this post

5h 8m 27s logged

looked for errors and started website

Today I overlooked the site one last time and fixed secruity issues and others. I fixed Email service added an option to change the background Image of the score and made my testdata a bit more secure (had my real emails in there before).
I used AI for much of the progress cause it was my first time starting a server (see commits). I ran into many issues while setting everything up.

0
0
13
Open comments for this post

7h 10m logged

added dev cut and reworked Background Image

I also added test Data. Thats entirely made by AI except some covers that were made by me. Cause I ain’t interactng thousands of times with my own platform.
Also which background banner would you like more?

0
0
9
Open comments for this post

7h 8m 25s logged

added roadmap

So there is the list of what I have done:

Public Roadmaps and Feature Voting

  • the roadmaap can have the status (Planned/In Progress/Done) and the Types (Feature/Bug/Improvment)
  • the dev can Drag and Drop the items into the status it is in and also mdelete it.
  • Users can comment and upvote those Items

Redesign of Game Detail site

  • Its not 9 Buttons in one row anymore
  • It’s seperatd into two sections.
  • updated the sale section

And I also added Unit Tests.

0
0
7
Open comments for this post

6h 25m 19s logged

fixed optimization and UI errors (and not ill anymore)

So i fixed many Issues regarding the performance of the website

Performance (Optimization)

  • videos don’t get loaded instantly anymore (180ms cooldown)
  • Search is done in memmory atribut caches and requestAnimationFrame.
  • all countdown intervalls have been put into one.
  • background image is done locally instead of GitHub
  • Offscreen Cards now use content-visibility:auto.
  • Database and Queries: SQLite changed to 64MB Cahe.
  • made 10 indizes for Foreign Keys/Filter.
  • Even the translator doesn’t wanna tell me what this means in English. You have to find out yourself.

UI and Interaction errors

  • js doesnt crash when pressing a button without being logged in (don’t ask how that happend)
  • guest cart can now delete a game from their carts.
  • when checking out and not being logged in you get forwarded to login. Didn’t actually happen before.
  • Wishlist and card buttons now syncronize when a game is there two times or even more on the front page. It pissed me off before.
  • collection badge gets added after animation.

Thats all I wanna write for today

0
0
7
Open comments for this post

10h 31m 56s logged

added tip jar, fixed some UI bugs

So now you can tip the game devs and they can see it on their dashboard and on the game detail page. You can also add a message to your donation.
And I fixed the message button that hid under the profiles in the community tab.

0
0
4
Open comments for this post

12h 0m 59s logged

added messaging , updated UI

Now users can message devlopers and other ussers. They can also include game Links and Update Links so you can discuss games.

0
0
7
Open comments for this post

9h 42m 51s logged

added Readme and fixed some visual bugs

Yesterday the UI looked a bit off. Especially at the unlocking of the badges. It’s now looking good.

0
0
9
Open comments for this post

11h 17m logged

added profile badges

It’s hard getting the badges right. Cause currently I’m only using Plain HTML and CSS for these badges.
And I added the js to the HTML files. Thats much cleaner then in a seperate js file.

0
0
12
Open comments for this post

9h 52m 41s logged

cleaned up all of the backend code

So yeah I’ve done it! I cleaned up all of the code and now its much easier to get through all. It’s so much better now.

0
0
15
Open comments for this post

5h 10m 53s logged

fixed the gifting system (and beginning to clean up that code)

So i fixed the gifting system and I also began my work on cleaning up all of this.
And as you see it doesnt look beautyfull right now if someone gifts you something but I’ll make it better.

0
0
6
Open comments for this post

10h 51m 13s logged

added gifting system and failed miserably (again)

Yea I promised to make the code cleaner today. But I found out that doing that is boring. Thats why I added more features. Now I’m paying for it by having new errors pop up every few minutes.

If I’d like to just feel some progress at cleaning this mess up I had to do it in small steps. (cause I ain’t fixing 3000 lines in one day)
So tommorow I’ll at least try getting the first 1000 lines cleaned up again

0
0
11
Open comments for this post

9h 59m 6s logged

Fixed it ☺️

So now it’s totally possible to make new collections. No errors anymore. Also I fixed some more bugs. And tommorow I will begin cleaning up some of the code.

0
0
6
Open comments for this post

11h 6m 40s logged

added library collections (tried)

Yeah so I did get to add a good UI but currently it does not work to add a collection. I will have it fixed tommorow. Most likely a minor mistae breaking everything.

0
0
20
Open comments for this post

10h 2m 50s logged

added honeypot and fixed this horrendeus cart UI

So yeah I fixed the UI I had yesterday to make it look more like everything else on the store.

0
0
7
Open comments for this post

11h 26m 54s logged

added cart system

So for today I added a new cart system. I know I’ve done more than epic.
You can now get games into your cart and buy them later. You will also get a warning if a game is cheaper in a bundle.HTML will be fixed tommorow

0
0
11
Open comments for this post

9h 57m 32s logged

fixed that fricking page(couldn’t buy something before)

Yeah I just made a completly new route for buying bundles and also a completly new HTML page.
For some reason I always find a way to make something extremly complicated

0
0
3
Open comments for this post

11h 46m 15s logged

fixed backend added first HTML Page with bundles

It willl look better tommorow (I PROMISE)
But for now it looks like that. I also fixed the backend code so now you should actually be able to buy bundles.
It will look more like the dev dashboard tommorow I just used the store.html as template.

0
0
4
Open comments for this post

10h 20m 7s logged

fixed the backend

So you can now buy games and should get the monopoly money back when refunding it.
But if I wanted to make it for a real system I would have to save the payment_tenent_id which I cxurrently don’t. But that should be a easy fix.So it should work like in that cool drawing I made.

0
0
6
Open comments for this post

10h 27m 33s logged

added Refund Handling (firs code)

So I added Refund Handling for my Store.
Unfourtanely I could’t finish it but I did get to finish the frontend. So what did I do.
I updated the library page so its now easier to see that you can actually refund the game and how long you have until its not possible anymore.

For the backend I currently have some problems with the real refund. You cant really get the money back because of how the buying of a game currently works.
Especially automated refunding would be extremly hard in the current system.

2
0
24
Open comments for this post

12h 5m 8s logged

added Rate Limits

Unfourtanetly I can’t push the code right now cause of github having problems with their API.

So but it did take very long cause im Albert himself.
So first I tried hardcoding Rate Limits with timers and stuff like that and I very much had very dumb ways to deal with it. Then I found out that Flask actually has a own Libary just for Limits.
So after failing doing it my own way I just sticked with that.

0
0
6
Open comments for this post

12h 18m 13s logged

added Account Linking/fixed Hackclub auth (again)

So now its getting rememberd if you also have a password and not only auth with google or hackclub.
Also in the database there is a completly new columm for the hackclub ID.

Backend:hackclub_callback() now also checks for Login/register or Link Modus.
google_login() now accepts link mode.There are two new routes for unlinking google and hackclub.
And last but not least. There is also a secruity check. The last used login methoid cant be deleted.

0
0
4
Open comments for this post

10h 38m 3s logged

fixed the hackclub auth

So I finally fixed the authentication. So here is a list of all of my mistakes:

  • Used the wrong email field;
  • use identity.primary_emailRequested (I did not need this)
  • use openid emailValidated state even though the callback only returned code (how do I even get to sucessfully code anything)
  • Added duplicate OAuth routes/functions (the dumbest mistake of mine)
  • Left the callback incomplete: no user creation, login, or redirectLogged sensitive access and refresh tokens (name me albstein)
  • Kept Flask debug mode enabled outside local development (hopefully no one saw that)

Tommorow I’ll do something. Maybe I’ll even be finished. Cause I dont know what to add anymore.
If you have some recommendations just drop them off.
thats the list of all current features:

  • User registrationUsername and password login
  • Email verification
  • Resend email verification
  • Email based 2FA
  • 2FA code resend
  • Enable or disable 2FA
  • Change username
  • Change email address
  • Change password
  • Logout
  • Google login
  • Hack Club login
  • First login username setup
  • User profiles
  • Profile pictures
  • Profile comments
  • Delete profile comments
  • Enable or disable profile comments
  • Community page
  • User search
  • Follow users
  • Unfollow users
  • Friend requests
  • Accept friend requests
  • Notifications
  • Unread notification counter
  • Mark notifications as read
  • User roles
  • Developer roles
  • Developer dashboard
  • Create games
  • Edit games
  • Upload game files
  • Upload demo files
  • Upload screenshots
  • Upload images
  • Upload videos
  • Add YouTube videos
  • ZIP game uploads
  • EXE game uploads
  • Optional ClamAV malware scanning
  • Game updates
  • Version labels
  • Patch notes
  • Update history
  • Update comments
  • Update upvotes
  • Update downvotes
  • Update view counts
  • Follow games
  • Game update notifications
  • Store page
  • Genre grouping
  • Game tags
  • Tag filter data
  • Game details
  • Game descriptions
  • Game screenshots
  • Game videos
  • Game view counter
  • Positive/negative ratings
  • Written reviews
  • Edit reviews
  • Helpful review votes
  • Funny review votes
  • Review scoring
  • Wishlist
  • Add to wishlist
  • Remove from wishlist
  • Personal game library
  • Purchases
  • Duplicate purchase prevention
  • Buy page
  • Stripe Checkout
  • Payment success page
  • Sales
  • Discounts
  • Sale end dates
  • Automatic sale expiration
  • Price calculation
  • Developer revenue page
  • Revenue per game
  • Sales count per game
  • Game analytics
  • Daily view statistics
  • Daily wishlist statistics
  • Daily purchase statistics
  • Daily revenue statistics
  • Personalized game recommendations(Yeah thats real)
  • Popular game recommendations
  • SQLite database
  • SQLAlchemy
  • ORMDatabase migrations
  • SMTP email support
  • Firebase configuration
  • Stripe configuration
  • Hack Club OAuth configuration
  • Environment variable secret configuration

Please drop some recommendatins🥲

0
0
5
Open comments for this post

10h 26m 40s logged

added hackclub auth (or atleast tried)

Thats just because of me being a dum dum. You may see whats the mistake. Will have it fixed tommorow.

0
0
10
Open comments for this post

10h 20m 59s logged

Fixed the code (again)

So like I said yesterday I rewrote the js.
So what was the problem? Well yesterday while testing out the Site I
found out that the buy button didn’t send a GET request to the backend.
So when I looked at the js I first looked confused cause everything
seemed to be fine. After some debugging I found out that my new feature
somehow collided with the buy button (Don’t ask how) So I fixed it.

Here is my totally real payment information, Everything works fine
now:

0
0
13
Open comments for this post

7h 27m 46s logged

fixed all the issues of yesterday made new ones(kinda)

So I fixed the old issues you can now see the updates page and actual updates. But I began cleaning up some of the js code and I’m still not finished.

So now I need to get over 100 more lines of js.
Also I need to look over my python code cause well.
1800 lines of code in one file is horrendeus(At least for me)

So wish me luck for tommorow!

0
0
7
Open comments for this post

10h 47m 19s logged

Added update feed

SO today I did end up making an update feed but I still have to fix some frustrating errors.
You can view your own games updates these of your friends or the updates of the hole platform.
You should also be able to upvote these but I currently have some errors with that.

0
0
9
Open comments for this post

10h 33m 40s logged

I’m back

So I’m back from my holidays and my stress with Oracle.
So I added a new simple feature and also updated some of my secruity checks.

So I did test the file scanner on my PC and it turns out to be good enough. It can find malicious files and get them out before even anyone sees them.

Also you can now update your game. Currently you can write what you changed but there is no way of seeing what you wrote for now. I will add that tommorow. It will just be a thread of all updates and the newest come out on top.

0
0
7
Open comments for this post

10h 58m 38s logged

Can’t show real progress because of Oracle.

So I have fnished the backend and already had a plan, but Oracle had to ruin the fun.
I wanted to host a VirtualMachine on Oracle Servers because I already have experience with them. But after wanting to sign up I was straight up rejected from getting the Server I paid for .They also debited my money twice (Not cool). So now I have to wait for the support to answer me and give me some of my money back.

There is a small snippet of the code:

0
0
3
Open comments for this post

10h 12m 44s logged

It’s getting somewhere

That was a lot less work than in the last days.
So what have I added today?

overworked Dropdown Menu

Beforehands the Dropdown Menu always was a bit behind the page. Now I have fixed it and also it has become much more interactive.

overworked Store Search

Now the Store search has more options to search for a game.

made Settings Page

You can now change Important settings on the help tab. For example your Email Adress, your username, or your password.

made Page to choose username when logging in with Google

You can now choose a username when logging in with google. You couldn’t do that yesterday!

0
0
3
Open comments for this post

11h 41m 7s logged

Google is not that cool 🤬

So guys like I said I finished it today so thats what I added:

Basic Recommendation System

So there are the three factors for the Recommendations:

  1. Tag taste: users who own a game sharing tags with your library also own the canditate
  2. Popularity: how many people in total own the candidate (Thats the least important)
  3. Similar library wishlists: users who share games with your library wishlisted the candidate

All of that is done in phython, which is very dumb to do if you wanna have thousands of games. (But for that small store its enough)

2fa authentification

So for that I have used firebase.
For me it was extremly hard configuring this.But I made it. Also I have used a gmail address to send a potential user the verification and email confirmation. And if you dont wanna verify anything you can deactivate it with the checkmark(But please if the demo is online do it(Note: Analytics are activated on firebase))

added google login

You can also login in with google. For that I had to use the most irrating API Keys. Really why is Google making it so hard?

IMPORTANT:

For now your Username will automatically be the name you have on you Google account.

0
0
4
Open comments for this post

10h 33m 43s logged

havent finished anything today

So today I began working on something big.
But I havent really made any real progress in that.
I had to work around so many logic problems.
Also over the course of working on this I found out that my code isn’t really optimised for much data.
If this code would ever be used with 10.000 games or even more it would most likely crash. But still I will finish the feature tommorow. And also I will start a Demo site in the next days. It would be great if anyone just tested it out.

Here a code snippet

0
0
4
Open comments for this post

10h 8m 35s logged

added revenue tab and new background image

So today I added a new metric to the stats page.
It was really hard getting it right. Especially in the graph because I didnt wanna use the same axis for the revenue again.

I also made the backround image more pixelated so it gets more of a retro look.

Tomorrow I’ll begin making something big(I already did some of the work today but yeah)

0
0
5
Open comments for this post

10h 7m 12s logged

added stats page

I added a stats page for every game a developer has published. You can see the history of how your game has developed. Thats why I’ve worked on the wishlist ,views and purchase features, so I can actually put them on a stats page.

Adding the graph was especially hard and also saving the old datapoints was difficult. For example I had used simple Optimization like if its the same data as yesterday there will just be no new datapoint added.

So there is a look at the new page::

0
0
3
Open comments for this post

10h 10m 54s logged

added comments to user profiles

I added comments to user profiles.
The great thing is you can deactivate the comment tab and delete comments you dont like.

It really took super long making this feature. Especially handling the errors. In the end I did make it but I still have to fix some errors tomoorow. Now I’ll go to sleep (:

0
0
3
Open comments for this post

10h 36m 37s logged

added demos, user badge, blurred email and default picture(penguins of madagascar)

overworked login, register, profile, community , game_detail , dashboard and edit game

So today I added Demos you can install.
I just copied the code of the game upload.

I also added a user badge so you can see who is a dev and who is a user.

Now youn will also not see your whole email but reade just the first three letters. (That took way too long to do)

And I also overworked all of these pages so they have a look that better fits the entire store.

0
0
2
Open comments for this post

10h 40m 39s logged

added reactions to reviews and wishlist

so today I already began working on bigger features.
It was a bit hard to do all off this but I made it.
I just found out today that you can actually migrate databases wth Flask.
I always thought I had to delete the hole database and set it up again to make everything work.

Also I spent around 4 hours searching for a mistake just to find out that I linked the wrong javascript file.

My backend code gets worse every day. I must find a solution for that.
Here my new wishlist page and the reactions:

0
1
4
Open comments for this post

10h 16m 9s logged

fixed several bugs and commented,optimized the code

So today I decided to look through all of my code and look for ways to improve. In the end I made several fixes and I’am satisfied with how it ended up.

The reason I did this is because I wanna add many more features tommorow.

But yesterday I already noticed that its hard to look through the code and that there were so many issues. Also some on the performance side.

I believe that all errors are fixed for now.
Here a code snipet:

0
0
2
Open comments for this post

10h 9m 26s logged

added notifications, countdown for sales, friend request (not just following like yesterday) ,overworked UI aspects and reviews

For the notifications I mjust had to add a new route and add it to the front end.

The countdown was really hard to figure out for my but it worked out with unix time I searched for an error the entire time just to find out that my countdown was written in white on a white background.

The friend request are why I added notifications. Because I wanted to let the user see who sent a request and respond to that. For the new system I had to delete the entire database to make it work.

After that I added reviews. You can now give a game a thumbs up or down. The average score will be shown and your text (the review).

When finishing that I overworked some of the most Important UI’s and made it much better to look at. Like you see here:

0
0
2
Open comments for this post

10h 10m 26s logged

added views, befriending, community, paying, user profiles and searching for users

So first the biggest: I added paying with Stripe. I only used the sandbox but you could basicially just add your own API Keys in an .env file and youd be able to start.
The documentation was really tuff to read through but I made it with the help of a tutorial.

After that I added user profiles. I just reused my game backend with the screenshots and so for the avatar.

When I was finished with the unique users I started with the view system. For now it’s pretty basic and you just have to view a site for 5 seconds to count as a view.

After that I added the community tab where you can search users and befriend them.

Some of my error highlights:
“stripe is not defined”; I forgot to add the API key.
Not an error but. I hardcoded the API Keys. Already fixed but still. “Template…… unexpected” I had to delete the database because I added a new velue for it.

0
0
3
Open comments for this post

1h 55m 48s logged

Libary and buying

today I just added a basic libary where you can view the games added to your account and even download them and I overworked the login and register page.

Tommorow I’ll begin the payment process when buying a game.
For that I will use the sandbox tools of Stripe.

0
0
2
Open comments for this post

10h 7m 10s logged

Most Productive day

Today was really crazy.
I worked for the hole day and made some big progress.

Dashboard

I first added a dashboard for developers. So you can finally add a game. I used flask (python) for the backend. You can also add screenshots and youtube links or mp.4. On the homepage you can preview the games trailer by hovering over it.

Secruity

Also editing of the game is only possible if you are the owner of the game. So I had to add a System for User Authorization and hashing for the passwords of course. Luckily Flask did most of it.So its getting checked if you are even a developer. When you are not you dont even get the options shown to publish a game or edit one.

Media

I also expanded on the media upload . You can now add as many screenshots or videos as you want
(Little side note: don’t keep the video upload blank).
And the biggest part you can add games now.

UI Changes

The UI also got a big Overhaul. I have decided to use a comic style for the site. Please Note that the background image at the nav is still AI generated(Even tho I did edit it a bit too get more of a retro style)

Also I fixed several error. Mostly just typos that ended up getting the hole site down.

Features:

I also added new features such as tags, genres, game pages, the developer dashboard, search and an edit page for the games you made.

0
0
3
Open comments for this post

2h 6m 29s logged

Interactive Home Screen with Banner

Today I began overworking my initial concept from yesterday and I made some progress.
The home site now has a background banner with the most important things in the nav.
The background Image currently is AI generated but I will make my own in the next few days.

I also made the site much more interactive. Everything you see here has an effect when hovering it. But don’t worry I didn’t exaggerate with the effects.

For the pulsing Image I used the inbuild keyframes CSS has. I also blurred the text when hovering the image but that may has to be reverted tommorow.

I also don’t think that I’l be able to make much more in the next 3 days. But I will try making small changes. I will most likely begin with the backend in the next week at the current pace.

0
0
4
Open comments for this post

2h 11m 41s logged

Ideas for the front end

Today I only ended up making some bold prototypes for the front end in HTML and CSS. I did have a small error already because of using bootstrap. I always load up the scripts for the HTML and CSS from the Bootstrap site, and that was not a good idea.
I ended up searching for an error that didn’t really exist. In the end I found out what was wrong by seeking help from gemini.
Nothing else was done with the help of AI as you can see by the bad UX.
I didn’t really have time for anything big so thats what I ended up with.
I will make it much nicer tomorrow if I have the time to do it.

0
0
23

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…