{"id":15095944,"url":"https://github.com/ax-vasquez/go-wedding-api","last_synced_at":"2026-02-14T15:01:46.644Z","repository":{"id":248985060,"uuid":"829885979","full_name":"ax-vasquez/go-wedding-api","owner":"ax-vasquez","description":"Go server for a simple wedding application API","archived":false,"fork":false,"pushed_at":"2024-10-19T03:06:33.000Z","size":336,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T13:28:37.606Z","etag":null,"topics":["gin-gonic","go-sqlmock","gorm","jwt-authentication","postgresql","swaggo"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ax-vasquez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-17T07:30:02.000Z","updated_at":"2024-10-19T03:06:37.000Z","dependencies_parsed_at":"2024-07-23T03:47:36.876Z","dependency_job_id":"bb14bae3-ea2e-48e0-9752-fd510a3c6e0f","html_url":"https://github.com/ax-vasquez/go-wedding-api","commit_stats":{"total_commits":158,"total_committers":1,"mean_commits":158.0,"dds":0.0,"last_synced_commit":"a536b1d80ac5601b8b00be6cdbe5cfd11c569c86"},"previous_names":["ax-vasquez/wedding-site-api","ax-vasquez/go-wedding-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ax-vasquez/go-wedding-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ax-vasquez%2Fgo-wedding-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ax-vasquez%2Fgo-wedding-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ax-vasquez%2Fgo-wedding-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ax-vasquez%2Fgo-wedding-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ax-vasquez","download_url":"https://codeload.github.com/ax-vasquez/go-wedding-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ax-vasquez%2Fgo-wedding-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29447768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T14:10:32.461Z","status":"ssl_error","status_checked_at":"2026-02-14T14:09:49.945Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gin-gonic","go-sqlmock","gorm","jwt-authentication","postgresql","swaggo"],"created_at":"2024-09-25T15:44:08.194Z","updated_at":"2026-02-14T15:01:46.592Z","avatar_url":"https://github.com/ax-vasquez.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\n\nThe API used for our wedding site, built in Go. This is a simple API used to save wedding guest preferences\nand responses using a stack built from scratch.\n\n[![codecov](https://codecov.io/gh/ax-vasquez/go-wedding-api/graph/badge.svg?token=UH5YZFRM35)](https://codecov.io/gh/ax-vasquez/go-wedding-api)\n\n## API Documentation\n\nThis project leverages [`gin-swagger`](https://github.com/swaggo/gin-swagger) for its API documentation.\n\nTo view the API documentation locally, start the application (`make run`) and navigate to `localhost:8080/swagger/index.html`\n\n### Generating updating API documentation\n\nAs changes are made to the API, the documentation will need to be updated as well. This is a two step process:\n\n1. Update the doc comment using the [appropriate formatting](https://github.com/swaggo/swag/blob/master/README.md#declarative-comments-format)\n1. Generate the new docs using `swag init --generalInfo application.go --parseDependency --parseInternal`\n    * The flags are required so that it can infer details about objects that are not directly used in the API, but inherited by ones that are\n\n## Building\n\nRun `make build` to create a production-optimized build.\n\nAll builds are placed in the `bin` directory, which is not committed to this repository.\n\n## Local development\n\n**Quick steps**\n\n1. `make setup`\n1. `make run`\n\n### Generating the `.env` file\n\nRunning `make setup` to bootstrap your local environment for development.\n\nThe `setup` target will generate the `.env` file for you and preload defaults. You can edit the generated variable\nvalues as-needed, as well as add to the `.env` file if you need. If you somehow get into a state where you're missing a necessary\nenvironment variable, you can re-run `make setup` to add the missing variables back to your `.env` file non-destructively. It will \nnot overwrite values for required variables that you may have edited.\n\n### Starting the containers\n\nTo start the supporting docker containers, run `docker-compose up -d` from the root of the repository.\n\n### Resetting your local database\n\nIf you get your database into a weird state, it's often simplest to just delete the database and re-create it. _To be clear, this is only a valid\noption if you're running locally._ Ideally, we should be hashing all of these weird things out before we are anywhere near deploying things.\n\nTo reset the DB, you'll need to do the following steps (in this order):\n1. Run `docker-compose down`\n1. Delete the `./local-data` directory\n1. Run `docker-compose up -d`\n\nYou need to make sure the Postgres container has stopped before deleting the `/local-data` directory because it writes to this directory while in\noperation. Then, once the container is stopped (and no longer writing to the `/local-data` directory), delete the `/local-data` directory. If\nyou don't delete the `/local-data` directory before restarting, the Postgres container will simply re-use what's defined there and it won't be reset.\n\nAdditionally, if you delete the application database manually (currently `\"gorm\"`) using a `DELETE DATABASE` command, _the application\nwill not re-create it on the next startup and it will fail to connect_. **In cases like this, it's best to simply reset your database using the\nsteps above.**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fax-vasquez%2Fgo-wedding-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fax-vasquez%2Fgo-wedding-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fax-vasquez%2Fgo-wedding-api/lists"}