139 Commits

Author SHA1 Message Date
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
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
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
d950e75540 (FIX): Using cookies to store filter data.
This means that we can use the cookie data to load the filters when the
search page loads. The final step is making sure the search is complete
and the simple redirection. Which will come in the next commit!
2025-07-09 21:19:28 -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
4034febdd4 (FIX): Recipe creation will direct to the recipe view page!
This commit also includes a fix for the difficulty display.
2025-07-06 17:34:46 -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
35bf69d79c (UI): Implemented the recipe view page!
This can be accessed from `/v1/web/recipe/:id`! Static implementation,
not yet wired to the DB. Working on that next!
2025-07-02 21:21:10 -07:00
Hayden Hargreaves
ad9df20316 (FIX): Using components in the create form.
Going to move on from this for now. We need a page to view a recipe!
**C**reate is done, now we need **R**ead, **U**pdate and **D**elete.
2025-07-01 20:02:45 -07:00
Hayden Hargreaves
c2cc8c8183 (FEAT): Wired backend to frontend for recipe creation.
Recipe creation is complete! Some minor issues include the
"eager-validation." It's better than nothing, but a bit harsh. Also, the
redirection and linking to a view page would be nice.

Furthermore, tags and images are not implemented yet. Will need that in
the future!
2025-06-30 22:30:11 -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
068c47f49c (FIX): Fixed the Google domain bug. 2025-06-25 21:11:39 -07:00
Hayden Hargreaves
cf0e291dd9 (FEAT): Implemented a route constants domain file.
This file contains route constants so they can be changed dynamically.
However, they do not support changes to the router, those are still
manual.
2025-06-25 18:23:47 -07:00
Hayden Hargreaves
693ac373a7 (FIX): Fixed the logout endpoint, just going to direct home. 2025-06-25 18:02:33 -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
a1f8fe60db (UI/STYLE): Created a simple UI for the profile page.
Backend requirements are needed now! That will be the next PR.
2025-06-24 22:25:21 -07:00
Hayden Hargreaves
ae11a889f6 (UI/STYLE): Finalized the home page UI implementation.
Everything the page needs is here! This can be merged into master! It's
time to move into the create page and recipe backend.
2025-06-23 22:18:24 -07:00
Hayden Hargreaves
ac00a321d5 (UI/STYLE): Added heart buttons.
Need to work on the search piece, its not amazing right now.
2025-06-23 20:18:58 -07:00
Hayden Hargreaves
a8cfc63848 (CI/CD): Attempting to dockerize for mobile development. 2025-06-23 19:45:40 -07:00
Hayden Hargreaves
427a44d2f6 (UI/STYLE): Finished the initial static home page.
Next, going to try to dockerize so I can see it on mobile!
2025-06-20 16:39:02 -07:00
Hayden Hargreaves
1cd0f76a1a (UI/STYLE): Initial implementation of recipe of the week. 2025-06-18 21:51:52 -07:00
Hayden Hargreaves
8c98eab62b (UI/STYLE): Update the search section to be contained by the pills.
This looks a bit better and will be a bit easier to use.
2025-06-18 19:16:26 -07:00
Hayden Hargreaves
d4a0b09b11 (UI/STYLE): Implemented the first pieces of the home page!
Looking much better, loving it way more, even though its light mode. It
seems to be a bit easier to design applications in light mode.
2025-06-17 22:40:47 -07:00
Hayden Hargreaves
4299b1bfa2 (UI/STYLE): Simple changes to the navbar, wanted to have sticky.
Also, removed the examples segment.
2025-06-17 21:53:03 -07:00
Hayden Hargreaves
5577d96b0d (STYLE/UI): Implemented the nav bar for mobile and desktop.
This includes creation of the basic pages.
2025-06-16 22:21:06 -07:00
Hayden Hargreaves
5e07383ab0 (FIX): Fixed the JWT handling, no need to fail.
We don't need to fail, but we do need a way to know when a user is
logged in. The new domain(server) function IsLoggedIn will do just that!
2025-06-15 20:34:03 -07:00
Hayden Hargreaves
4a0eed2fc6 (FEAT): Logout API in place. 2025-06-15 20:16:07 -07:00
Hayden Hargreaves
8e4a0deec8 (FEAT): Removed the need for sessions, going to use JWT's in cookies.
This works very well, just need to determine what routes will be
protected and such. For now, a simple system is setup, with more to
come. For now, this is a WIP and needs some light work. But auth is
almost complete.
2025-06-14 23:52:43 -07:00
Hayden Hargreaves
4a5bfc3f10 (UI/STYLE): Implemented the simple login page.
Now all that's left for the authentication workflow is session management.
2025-06-14 21:18:35 -07:00
Hayden Hargreaves
780f5dfb84 (CHORE): Updated and removed the last few backend components.
Just needed to clean up the VC a little bit.
2025-06-14 19:33:10 -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
71e32f1fd7 (FIX): Created a decent dependency inject architecture.
The system allows services and repositories to be created in the main
server definition and then store them in the context. They can then be
retrieved and mapped onto the injection type and accessed in the
handlers. The handlers can then use the deps to call services. Each
service is initialized with the required repositories so they can be
accessed directly.
2025-06-14 12:30:17 -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
a9cdc25adf (FEAT): Implemented the first stages of Google OAuth.
All that's left is the UI and repository implementation.
2025-06-13 22:50:46 -07:00
Hayden Hargreaves
6fb4664478 (CHORE): Fixed tailwind css and directory renames. 2025-06-13 22:49:38 -07:00
Hayden Hargreaves
a88d807e40 (FIX): Server and routers setup. 2025-06-13 16:44:23 -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