jam06452

Shipped this project!

Hours: 37.55
Cookies: 🍪 954
Multiplier: 25.41 cookies/hr

I built flavortown project database, I initially based it off of imdb. This project scraped the entirety of flavortown and stores it in a custom postgres database so it is incredibly fast and efficient. I used elixir & phoenix, this allows for near instant loading speeds. If it is slow it is more than likely your internet. I send the files in 150 microseconds. The images are loaded via flavortown instead of me scraping the actual images since I do NOT have enough space. The most challenging part of this is the scraping aspect as well as making a fast efficient interface. I am most proud of the impact this has had so far. Some flavortown admins have used this to search for projects etc since I have a search bar that they love.

transcental

Tagged your project as well cooked!

🔥 transcental marked your project as well cooked! As a prize for your nicely cooked project, look out for a bonus prize in the mail :)

jam06452

Testing & bug fixing live scraper alibaba-languished-rose

Attachment
0
jam06452

FINALLY, got a live scraper to scrape, /projects & /devlogs. This allows for liveish stats. These refresh every 30s.
Fixed missing devlogs & time affecting projects, I had to make another scraper to handle this by using /projects/{id} to grab the specific projects, and /devlogs/{id} for the specific missing devlogs. Hitting some rate limiting right now on the fix missing devlog scraper. Also made a TUI for my scraper to handle all my various scripts. Lots of messing around on my supabase to find devlogs, trouble shoot, make some RPCs etc. It was painful to say the least

Attachment
Attachment
0
jam06452

Features

  • Scrolling arrow buttons added, the old scroll bar was hard to see
  • Polish everywhere, same font used,
  • layout fixed since it looked weird in some places.
  • Fixed layout shift from project / user pages

Misc

  • Consolidated all CSS into a singular file to make it reusable. This in turn shrinks the codebase to make it more manageable and maintainable.

Changelog

Attachment
0
jam06452

Features

  • Added new way to view devlogs, looks a lot better now
  • Redone the logic behind the random devlgos & projects to utilize caching more effectivley

New Caching

It picks a random number from 1 to how many devlogs / projects
Takes that, puts it in to the cache,

Changelog

Attachment
0
jam06452

Added API Docs back based on the old openapi.yml but now hosted on scalar to make it look better than hosting it locally within FTPDB
Bugfix with if a project was deleted with a user, it would return nil which the frontend didn’t like, it now returns the projects

Attachment
0
jam06452

Fixes

  • Project time now shows on random projects
  • Fixed devlogs not being shown due to linking issues in the supabase table

Features

  • Added devlog count on the main page

Changelog

Attachment
Attachment
0
jam06452

Fixed navbar, now consistent across all pages. Did some scraping scripts that were not recorded on hackatime cryin
Refreshed leader boards etc. Might ship soon

Attachment
0
jam06452

I fixed a lot of issues and bugs. Reverted API docs, and changes to the backend DB.ex. Calling random projects as an RPS from supabase instead of getting “random” projects manually, this ensures that these are truely random, added a filter to ensure default banner projects are excluded since this are normally default starter projects which have no time or content. Redone projects structure to make it more suitable for more vertical screens. Formatting, redone some DB.ex structure. A lot of work of the supabase tables to make RPCs work correctly, supabase tables needed maintenance etc to ensure they are happy.

Attachment
0
jam06452

Added openAPI schema for @SeradedStripes
Fixed some carasel issues
Tidied up some stuff

Gotta improve how the openAPI is presented

  • Chores, OPENAPI docs, and fixes (3718655)
Attachment
0
jam06452

Chores & Devlog page fix
Making devlog page nice next

  • Formatting & Random devlogs API (75dfac6)
  • /devlogs page for random devlogs (a0786c3)
Attachment
0
jam06452

Basic devlog page

Attachment
0
jam06452

Fixed scraping media URLs, was not fetching since I was using the incorrect API, i still dk what to do as images

Attachment
0
jam06452

Fix to homepage, refactor of functions under DB.ex, misc, project, user, devlogs reorder of functions for maintainability.

Consolidated frontend to use single CSS style document,

And more!
probably more caching

  • Added navbar being the same (a3b8294)
  • Consolidated frontend, all uses same CSS styling from one file (fa1912a)
  • Homepage fix (e20a8b7)
  • Refactor, misc, projects, users, devlogs (831f3b5)
  • Refactor, misc, projects, users, devlogs. Pt2 (0fe368a)
  • Homepage Fix and misc (ff89f47)
Attachment
0
jam06452

Fixed project page showing total user time instead of total project time

Attachment
2

Comments

SeradedStripes
SeradedStripes about 2 months ago

lowkey having flavorpheus spam me with these devlogs

jam06452
jam06452 about 2 months ago

havent done one for 5hours gng

jam06452

Added faster banner scraping by using 40 concurrent workers, I added the option to rescrape FT for banners not just for Null values in the database

Attachment
0
jam06452

Added a container that updates the database in realtime via the API

Idk what image to do

Attachment
0
jam06452

Chores & Features

Added /page/:d to show user stats when being searched
Added separate panel for searching for users

  • Fixed crash when nil was being divaded by 3600, fixed by making default 0 if no value fetched (e0bce39)
  • Added searching for people (4747ff2)
  • formatting (66349a4)
  • Search improvements (074f5e1)
  • Added /user/:id page for user stats & projects (8fe4f1c)
Attachment
0
jam06452

Added Cachex caching, this should significantly take off database load and speed up the site. idk what to do for the photo since it as all backend work

  • Implemented Caching with cachex (f83753b)
  • Fixed bug where when you clicked on a project it brought the user to the /project/:user_id (de490e9)
Attachment
0
jam06452

Added /projects to view projects in a grid view with shuffle to get random projects etc
More buttons everywhere
Slack fix

Be sure to use /suggestions for improvements

  • slack fix (6d374f0)
  • Added more buttons in project page (4c0cae6)
  • formatting (f3cfb3c)
  • Added a /projects page that shows random projects or those based off of filters (5383084)
Attachment
0
jam06452

Added suggestions, let me know what things you want now

  • Added suggestions page that messages me on slack with suggestons (1a76864)
Attachment
0
jam06452

Added searching with smart complete which takes into account hotness and total likes to correctly find what you are looking for

  • Carousel is now working properly with the dots (833f24e)
  • Added total likes in project viewer (7eae16c)
  • Formatting & Searching (d51140a)
Attachment
0
jam06452

Added native viewing for devlogs and projects within this. What should I add next?

  • Added profile pictures and display name (754d480)
  • Fixed forwarding to via user_id not project_id (ba2a975)
  • get_devlogs function (d66d9ce)
  • Renamed api.ex to DB.ex, more routes. (62a6fe1)
  • Added /project/:id path to show the project and devlogs locally (48d21dd)
Attachment
0
jam06452

Added banners & Profile pictures and names

  • Added banners to homepage (ff1e556)
Attachment
0
jam06452

Added basic frontend work with help from claude to get it done quickly.
I am working on getting project banners next
Added more API routes so we can see who has the most freetime

Attachment
0
jam06452

Added backend APIs for the frontend being built
/hot returns top ten projects determined by an algorith,
/top_this_week returns the top projects from this week
/fan_favourites returns most liked projects.

I am working on a frontend next using the PETAL stack.

ps, IDK what image to add since this is all backend

Attachment
0
jam06452

Scraped most of FT, some devlogs missing project IDs, the APIs are alr to work with but I will be releasing my own that are better. I do not have a frontend yet

Attachment
0