Skip to content

eklavyamirani/bookmarks-manager

Repository files navigation

Docker Image CI Publish Docker Image

The goal of this project is to code with LLM.

  • the devcontainer setup was manual.
  • the readme updates are manual.

Progress:

Wired up to the DB After adding backend API

Prompts used

  1. Rewrite this app in typescript
  2. update the frontend application to implement a bookmark manager for web urls. I want the ability to list bookmarks and mark them as read. For the frontend app, create a new mock api to return the bookmarks. The bookmark has a url, a title, create_date, read_date.
    1. {One compiler error. copy pasted and resolved.}
  3. now implement the api logic in the backend app and wire it up with the frontend app. For now, the backend app should use a mock api layer. the frontend app should have an option to use its mock api or to use the backend api.
    1. can you instead use the proxy setting on the frontend app to solve the cors issue?
  4. Now, let's hook up the backend api to the postgres instance. The development config should allow switching between the mock bookmark repository and the real postgres instance.
    1. get the postgres user, password, database from environment variables
  5. Create dockerfile to deploy the frontend and the backend app into a single container. Include all the environment variables used in the code base.
    1. {npm error. copy pasted, resolved.}
    2. {404 error on api call, copy pasted the response headers, nginx configuration updated.}
    3. move the docker related files to /deploy
    4. {copy pasted error due to incorrect paths after move}
    5. {manually removed the backend api port expose. removed the version on docker compose.}
  6. create another github action to publish the docker image to github packages. The trigger is on new release.
  7. in the backend app, remove default passwords.
  8. change the code to also pull the postgres host from an environment variable.
  9. also update the appsettings with the updated connection string template.
  10. add the environment variable to .env_sample
  11. can you also update the backend app to use the table name from an environment variable?
    1. {Failed. Sets the search path in the connection string, which is not correct.}
  12. Add a host name property to postgres. This property should come from the dot env file.
    1. Use the specific property for POSTGRES HOST in ENV to get this property.
  13. change this code to use db first entity approach
  14. Fix the following issues in the frontend app: 1. some links dont have titles, use the link. 2. created dates are all showing as invalid date. 3. mark as read has inconsistent styling where it becomes longer when the title is multiple lines. 4. the banner is too large and covers the whole page, make it just a header.
  15. all created dates are showing up as Invalid Date
  16. when the content is long, the title and the buttons run out of bounds of the component to the right
  17. add all my prompts to the readme.md under the ## prompts used section.
  18. Add ability to sort the list of bookmarks. Sorting should be possible in ascending and descending order for the following dimensions: - Create date - Alphabetical
  19. Add ability to search within the bookmarks
  20. Need to publish arm64 version of the docker image

Setup instructions

  1. Setup the postgres config in .devcontainer/.postgres.env (copy the sample, rename it to .postgres.env and fill in the values)
  2. Load the devcontainer

create the react app in the container

npx create-react-app <appname>

create dotnet webapi

dotnet new webapi -o <project_name> --use-controllers --use-program-main

create dotnet gitignore

dotnet new gitignore

create new controller

dotnet new apicontroller --actions --name <controller name>

Deploy the app

cd deploy
docker compose up --build

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors