48 Commits

Author SHA1 Message Date
Hayden Hargreaves
eea1f09769 (FIX): Some ORM things and an attempt to fix CI/CD 2026-02-07 23:41:31 -07:00
Hayden Hargreaves
6e28ebfe80 (FEAT): Orm work, not complete, but editing needs to be merged. 2026-02-07 11:17:00 -07:00
Hayden Hargreaves
e81f2ec513 (FIX): Removed debug logs and such. 2026-02-03 23:02:07 -07:00
Hayden Hargreaves
9398e06943 (FIX): Removed legacy code from search API. 2026-02-03 22:58:07 -07:00
Hayden Hargreaves
4bd4c4ca26 (FEAT): First squirrel implementation. Search! 2026-02-03 22:56:26 -07:00
Hayden Hargreaves
5037b0c2db (FEAT): SQLX migration. 2026-02-03 22:33:55 -07:00
Hayden Hargreaves
8e53ef9cf6 (FIX): Fixed some of the search.
Still an ORM sounds fun!
2026-02-03 14:27:54 -07:00
Hayden Hargreaves
7951945c3b (FEAT): Recipe editing is complete!
This will be deployed for testing!
2026-02-01 00:30:13 -07:00
Hayden Hargreaves
b8c9fc469e (FEAT): Deletion is implemented!
This should be a nice test! Hopefully other users cannot delete my
recipes. Though they're setup to soft delete.
2026-01-30 23:44:21 -07:00
Hayden Hargreaves
dd43845138 (FEAT): Logger is implemented!
However, its not used everywhere and the ENV needs work. Lots of work...
2026-01-26 22:41:40 -07:00
Hayden Hargreaves
8f3cdefe7e (FEAT): Allow larger serving sizes.
Now we can range between 1 and 127.
2026-01-13 12:28:56 -07:00
Hayden Hargreaves
8ae705db89 (FEAT): Implemented creation engagement. 2026-01-10 12:44:04 -07:00
Hayden Hargreaves
6bbd58b471 (FIX): Migrated services to returning the IDs. 2025-12-28 18:06:21 -07:00
Hayden Hargreaves
54c557bec5 (FEAT): Finished fixing up the search page! 2025-12-28 17:39:28 -07:00
Hayden Hargreaves
90b3b7b1b0 (FIX): So so so much has been migrated.
But this includes templ builds also... Needed for compilation. Search is
the last broken piece, I believe.
2025-12-27 23:45:09 -07:00
Hayden Hargreaves
ee6017f8ca (FIX): Fixed the database scripts.
They were not working properly.
2025-10-09 17:52:04 -07:00
Hayden Hargreaves
ad63f6e3c5 (FIX): Database backup scripts. 2025-10-07 12:07:05 -07:00
Hayden Hargreaves
445557f37e (FIX): Fixed issues with search.
Spaces are now ignored and special characters that are used for the
query are not a problem. This can be pushed up for UAT.
2025-09-19 13:38:16 -07:00
Hayden Hargreaves
0bfb2e6e86 (FIX): Removed tx's from user and engagement repositories. 2025-07-27 12:10:56 -07:00
Hayden Hargreaves
c608744696 (FIX): Working on the nil derefs, removed tx's from select queries.
Lots of the derefs were from the transactions failing, which meant that
removing most of them, helped prevent them!
2025-07-27 12:00:28 -07:00
Hayden Hargreaves
8d94ed2d08 (FIX): Fixed the issue with null returns from the RotW! 2025-07-26 23:20:27 -07:00
Hayden Hargreaves
ae2b2791ce (FIX): Fixed one of small deref errors.
The recipe get tags method was failing when a nil recipe is provided.
Not sure when that would happen, but without fixing it, we can just
return nil when a blank recipe is returned.
2025-07-26 23:02:34 -07:00
Hayden Hargreaves
05f67566f8 (FIX): Removed date requirement from rotf 2025-07-26 22:46:45 -07:00
Hayden Hargreaves
53943dd183 (FEAT): Implemented recipe of the week! And image placeholder.
Still having the stupid ass nil dereferences, I think I might need to
migrate to using success returns instead of pointers. Because they're
fucked. And even more so now.
2025-07-26 22:36:48 -07:00
Hayden Hargreaves
68b97cea21 (FEAT/DB): Implemented the DB migrations for RotW.
Created a table and a stored procedure to generate the values in the
table! This is my first implementation of an SP, which is very cool!
2025-07-26 20:10:48 -07:00
Hayden Hargreaves
65c73bddfa (FIX): Working on finding all of the nil-deref errors.
This may have caught a few. Next I need to actually work on the
development/testing/production environment setup.
2025-07-22 21:37:47 -07:00
Hayden Hargreaves
21f958a4fb (FEAT): Completed the lists section on the home page.
This includes backend updates as well as frontend changes! The backend
also includes a new repository to get a list of jobs via their IDs,
which does respect order!

The list displays for users that are logged in and a small message when
the user is not logged in. The last piece is the recipe of the week
segment, which can be as simple as a DB cron-job. But that will require
stored procedures. Need to learn those next.

Though I want to deploy the application soon, so I need to begin working
on that.
2025-07-20 21:56:56 -07:00
Hayden Hargreaves
27d5b59cfc (UI/FIX): Displaying a heart next to favorites.
This effect is seen in the favorites page AND the search page! But of
course, only for users that are logged in.
2025-07-16 19:32:54 -07:00
Hayden Hargreaves
045dc13fbe (FEAT): Created favorites search route which allows for better search.
This basically marks the favorites page completed. Updating the recipe
repository to allow the search function to accept a userId and favorites
flag. This flag will toggle a "favorites only" search. Which can be used
to replicate the same functionality from the search page in the
favorites page. This later can serve as a baseline for updating to also
work for activity search.

I am starting to think an ORM is a good idea...I heard Gorm is good, but
for now, there is a bit too much tech debt.
2025-07-16 18:57:36 -07:00
Hayden Hargreaves
aacca77890 (FEAT): Created backend API to get users favorite recipes.
The UI is wired up and connected as well, for the profile page. Next
step is to create the favorites page.
2025-07-15 22:11:25 -07:00
Hayden Hargreaves
15cb03589c (UI/FIX): Fixed the view engagement to only run on clicks.
But that means we have to redirect from the handler. I didn't want to,
but I guess that makes it easier when more pages direct to the recipe
page.
2025-07-15 21:44:20 -07:00
Hayden Hargreaves
e4c1a575be (FEAT): Implemented anon engagements.
This required some fixing of old repo methods, since the nullable user
id was a bit hard to parse. But it should be working now.
2025-07-15 20:14:32 -07:00
Hayden Hargreaves
79bee1cde7 (FEAT): Updated recipe repo to include recipe favorite status.
This means we need to pass the user id into the various methods that
call it. But, since it is a pointer, we can use nil if we don't have a
user to check with (this is noted in the service).
2025-07-15 19:17:41 -07:00
Hayden Hargreaves
bebeb25492 (DB/FEAT): Implemented toggle favorite in the backend.
The frontend is half wired up, just need to update the button. I also
want to update the recipe methods to return the favorite status. This
will follow very similar to the way I updated the tags. Another method
which can be called to attach the favorite state.
2025-07-14 21:30:45 -07:00
Hayden Hargreaves
d29426290d (FEAT): Created engagement buttons, and wired most of them up!
The make button is pretty much done, just need to finish up by
rate limiting it. That will take place in the engagement repository.

Sharing works as well, just a UI change, there is no backend yet, maybe
there should be an engagement type for sharing recipes. But not totally
sure.

The viewing is also in a semi-working state. It does not create requests
for users that aren't signed in, which needs to come. With that update
there is a need to update HOW the requests come in, we don't need it
every time we load the page. Maybe just when we click to it, from
somewhere else?

Finally, the favoriting does not totally work. The entry into the
engagement table is complete, but the actual favorites table, favorite
creation, button toggling AND button rendering is not implemented yet.
2025-07-14 21:00:28 -07:00
Hayden Hargreaves
d2835c636c (DB/FEAT): Began the implementation of the user engagement!
The database requirements have been added, as well as the service/repo
architecture. A few small functions have been created, but the system is
not complete by any means. More work is required to mark this task
complete.
2025-07-13 21:34:54 -07:00
Hayden Hargreaves
3b6ebd0dae (DB/UI): Created user list API and wired to UI.
The profile list will now properly display the users recipes! The
favorites list does not exist yet, since there is no backend support for
favoriting/saving recipes. So the list displays the same content as the
user recipe list. Same goes for the activity list, not yet implemented.
2025-07-13 14:01:05 -07:00
Hayden Hargreaves
ced9da5bf2 (DB/FEAT): Recipe tags have been implemented!
This is part of the step towards finishing the creation wizard, all that
is left is the image. However, that is a bigger problem since it
requires a file store and file server. But for now, tags are implemented
and working!
2025-07-12 12:50:26 -07:00
Hayden Hargreaves
3c5109c7d0 (DB/FEAT): Implemented full text search vector for database searching!
This is a HUGE upgrade and can mark the searching nearly complete! Other
than the scrolling and some other smaller UI things. The search appears
to be working.
2025-07-10 19:54:21 -07:00
Hayden Hargreaves
9ac7356668 (DOC/FEAT): Updated doc comments and completed the search redirection!
The search is nearly complete for the initial implementation. Just need
to figure out what to do with the text search provided, make any
required UI changes, and eventual implement pagination via a "load more"
button.
2025-07-09 22:21:49 -07:00
Hayden Hargreaves
c0fc47c569 (UI): UI implementation of the search page. Somewhat wired up.
Missing some context storage and better passing of data to allow
between the home page to the search page. Need a way to store the search
results in state so they can be retrieved when the page is reloaded,
etc.
2025-07-07 21:36:13 -07:00
Hayden Hargreaves
7ad710f880 (FEAT): Search is returning recipes, next just need a UI and wire job.
Furthermore, not sure how we are going to handle the searching. Maybe a
full-text search index? For now, it has been ignored, but the filters
seem to be working properly.
2025-07-06 22:40:15 -07:00
Hayden Hargreaves
55c6a99bb1 (FEAT/DOC): Wired the backend to the UI for the recipe page!
The route will now display real, live data from the DB! Errors are not
handled very well, just returned as JSON for now. Need to implement an
error page for states when errors occur.

This commit also includes lots of documentation for the various
service/repository methods. I am trying to not let docs fall through the
cracks, but I am not perfect lol.
2025-07-02 22:53:15 -07:00
Hayden Hargreaves
b17c5774e9 (UI): Implemented much of the frontend recipe creation wizard.
Most everything is implemented, included a state handler and a pretty
simple (but workable) system for managing state in HTML. Nice and simple
for now.

There is still much work to be done, but the rest is simple backend
creation and error handling. And then input validation...a nightmare.
2025-06-29 22:30:20 -07:00
Hayden Hargreaves
6572c31ed4 (FEAT): Profile page is wired to backend.
This required service and repo creation for the users. Logging out is
not yet supported, but that is next.
2025-06-24 23:04:29 -07:00
Hayden Hargreaves
b6a434ad2a (FEAT): Authentication service with Google OAuth is working!
Still missing a UI and we do not have session management just yet, but
the workflow of calling the Google API's and creating/finding users is
working with the current structure.
2025-06-14 12:35:08 -07:00
Hayden Hargreaves
3c4710bb48 (SQL/MIGRATION): First DB migration. Created the users table.
Also, needed to update to using plural table names.
2025-06-14 00:02:04 -07:00
Hayden Hargreaves
0b29602cb8 (CHORE): Created the directories based on the structure defined before.
Pretty sure everything needed is here, next step is beginning implementation!
Finally, jesus.
2025-06-13 15:00:43 -07:00