269 Commits

Author SHA1 Message Date
b98bf5ce39 Merge pull request 'FEAT: Environment and Cookie Update' (#31) from dev into master
Some checks failed
Deploy application with Docker / build_and_deploy (push) Has been cancelled
Reviewed-on: #31

Seems to be working properly.
2025-07-23 18:22:42 -07:00
a6993a4ed0 Merge branch 'master' into dev 2025-07-23 18:21:29 -07:00
Hayden Hargreaves
157fd8d3c1 (FIX): Fixed the cookies! They are now abstracted and env controlled
Need to test this in production to ensure they are working properly.
2025-07-23 18:10:12 -07:00
Hayden Hargreaves
296f32aa6d (FIX): Forgot to update this. Need to change cookies too. 2025-07-22 22:50:12 -07:00
0089e39a6b Merge pull request 'DEV: Working on environments and the recovery from nil pointers.' (#29) from dev into master
All checks were successful
Deploy application with Docker / build_and_deploy (push) Successful in 1m52s
Reviewed-on: #29
2025-07-22 22:45:34 -07:00
9d16f44b00 Merge branch 'master' into dev 2025-07-22 22:45:26 -07:00
Hayden Hargreaves
e0e1230660 (FEAT): Dev/prod environment toggle is complete!
We can now use environment values to dictate which values are used for
the DB and the domain. This is a simple solution, but for now, it works!

This will merge into master and we can then see it live in action!
2025-07-22 22:43:40 -07:00
Hayden Hargreaves
94740b4b54 (FEAT): Added a handler to recover from panics.
This is not perfect, and def not set in stone. But for now, it will
return a JSON page, and not crash. I want this to log the user out,
clear the cookies, and then direct home with a message saying something
went wrong.

I also want it to send me an email with the details, but one step at a
time for now, that is not 100% necessary, I just need to fix the bugs.
I also need to fix the environments.
2025-07-22 22:11:11 -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
45a6a23adb Merge pull request 'Merge in workflows and Dockerization' (#27) from dev into master
All checks were successful
Deploy application with Docker / build_and_deploy (push) Successful in 1m35s
Reviewed-on: #27
2025-07-21 21:33:13 -07:00
Hayden Hargreaves
0849a46b78 (FIX): Only running in master, not dev 2025-07-21 21:32:01 -07:00
Hayden Hargreaves
fad39c2e21 (FIX): Its working! But spelling error...
All checks were successful
Deploy application with Docker / build_and_deploy (push) Successful in 41s
2025-07-21 20:46:31 -07:00
Hayden Hargreaves
fd3c63c1cb Adding tidy and download later? Maybe I need to add go.sum to repo?
All checks were successful
Deploy application with Docker / build_and_deploy (push) Successful in 42s
2025-07-21 20:44:45 -07:00
Hayden Hargreaves
6f58b57372 (FIX): Trying again
Some checks failed
Deploy application with Docker / build_and_deploy (push) Failing after 15s
2025-07-21 20:40:50 -07:00
Hayden Hargreaves
be0b580c19 (FIX/TMP): Running actions in dev branch, temp.
Some checks failed
Deploy application with Docker / build_and_deploy (push) Failing after 16s
2025-07-21 20:31:50 -07:00
Hayden Hargreaves
031ae205da (FIX): Added tidy to the Dockerfile. Should work in actions 2025-07-21 20:30:42 -07:00
13596f7cb6 Merge pull request '(CI/CD): Workflow and Docker implementation.' (#26) from dev into master
Some checks failed
Deploy application with Docker / build_and_deploy (push) Failing after 1m34s
Reviewed-on: #26
2025-07-21 20:23:54 -07:00
Hayden Hargreaves
0017d1a3d5 (FEAT): Created workflow.
This should work, pretty simple, just building and pushing to Dockerhub.
The server will handle listening and watching for docker changes.
2025-07-21 20:22:44 -07:00
Hayden Hargreaves
eec8ed00c3 (FEAT): Application has been dockerized.
The application can now be built, tailwind is built, AND templ
components are generated! Which means, we can no longer push the
tailwind generated CSS file OR the templ generated go files!

Plus, this is the first step towards deployment and CI/CD!
2025-07-21 20:14:03 -07:00
52ccf472f3 Merge pull request '(FEAT): Completed the lists section on the home page.' (#25) from feature/another-look into master
Reviewed-on: #25
2025-07-20 22:03:08 -07:00
Hayden Hargreaves
0c99ab5414 (FIX): Updated the URLs from the profile page. 2025-07-20 22:02:17 -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
050f2c2bec Merge pull request 'FEATURE: Favorites Page Implementation' (#22) from feature/favorites into master
Reviewed-on: #22
2025-07-16 19:41:30 -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
d191902448 Merge pull request '(DB/FEAT): Began the implementation of the user engagement!' (#18) from feature/engagement into master
Reviewed-on: #18
2025-07-15 21:53:16 -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
2a33edc8f6 (FEAT): Implemented API for the share engagement.
This includes user and no user routes! Now wired to the frontend,
however, it will still create an engagement even if it fails...
2025-07-15 21:19:47 -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
7e355d5eda (UI/FIX): Fixed the favorite button rendering and updating!
I don't like the way that templ requires JS, but it is what it is. I
just don't want to return HTML from the server.
2025-07-15 19:44:19 -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
acbb07cb34 (UI): Small UI tweaks. 2025-07-14 18:07:58 -07:00
Hayden Hargreaves
4a94b1a08c (UI/FIX): Fixed the retarded formatting.
Templ's formatter sucks.
2025-07-13 21:37:51 -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
db447b3a7d Merge pull request '(UI/STYLE): Implemented the first rendition of the profile page.' (#17) from feature/profile into master
Reviewed-on: #17
2025-07-13 20:00:01 -07:00
Hayden Hargreaves
9be423cea0 (UI): Finished up the profile implementation for now.
The other sections not working yet were marked as under construction.
There still needs to be a page for "see all..." for the recipes, but
that will be a task for another time.
2025-07-13 19:58:47 -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
ae1f4f8e99 (UI/STYLE): Implemented the first rendition of the profile page.
Needs a backend wire job, but it looks pretty good. I can't really test
this page on a real mobile device either, since it requires the user to
be logged in and the testing doesn't work with google.
2025-07-12 14:22:23 -07:00
a7490a2667 Merge pull request '(DB/FEAT): Recipe tags have been implemented!' (#16) from feature/tags into master
Reviewed-on: #16
2025-07-12 13:38:52 -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
78e0fca302 Merge pull request '(UI): Created a 404 not found page!' (#13) from feature/not-found into master
Reviewed-on: #13
2025-07-11 18:21:36 -07:00
Hayden Hargreaves
737f56d3a0 (UI): Simple under construction page implemented.
This is a temporary measure, until the favorites and shopping list pages
are implemented.
2025-07-11 18:20:15 -07:00
Hayden Hargreaves
5540daf6b6 (UI): Created a 404 not found page!
This loads whenever a page that does not exist is loaded. I would also
like to add some "coming soon" dialog to the few pages that don't exist
yet. Before deploying to the server.
2025-07-10 20:52:35 -07:00
1b41478143 Merge pull request 'Search page work: Still not complete.' (#11) from feature/search into master
Reviewed-on: #11
2025-07-10 20:09:28 -07:00
Hayden Hargreaves
e38f4e8b51 (DOC): Updated technical specifications. 2025-07-10 20:01:01 -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
70536147b7 (UI/FEAT): The search page will now execute the search when loaded.
However, this only occurs when the page is loaded WITH filters. If
filters are not found in the cookies, such as when a blank page is
loaded, then a search will only execute on submit.
2025-07-10 17:51:23 -07:00