goship
Opinionated Go + HTMX framework for shipping production apps fast ⛵️
File Explorer
Download Latest Version (.zip)- test.yml
- post-deploy.sample
- post-traefik-reboot.sample
- pre-build.sample
- pre-connect.sample
- pre-deploy.sample
- pre-traefik-reboot.sample
- extensions.json
- settings.json
- tailwind.json
- main.go
- main.go
- main.go
- accessories.sh
- web-app.sh
- worker.sh
- config.go
- config.yaml
- config_test.go
- deploy.yml
- goship.spec.ts
- helper.ts
- config.js
- package-lock.json
- package.json
- playwright.config.ts
- emailsubscription.go
- where.go
- emailsubscriptiontype.go
- where.go
- emojis.go
- where.go
- enttest.go
- fcmsubscriptions.go
- where.go
- filestorage.go
- where.go
- custom_hook.go
- hook.go
- image.go
- where.go
- imagesize.go
- where.go
- invitation.go
- where.go
- lastseenonline.go
- where.go
- 20240903200944.sql
- 20240907154749.sql
- 20240907155651.sql
- 20240907160557.sql
- 20240907214903.sql
- atlas.sum
- migrate.go
- schema.go
- monthlysubscription.go
- where.go
- notification.go
- where.go
- notificationpermission.go
- where.go
- notificationtime.go
- where.go
- passwordtoken.go
- where.go
- phoneverificationcode.go
- where.go
- predicate.go
- profile.go
- where.go
- pwapushsubscription.go
- where.go
- runtime.go
- emailsubscription.go
- emailsubscriptiontype.go
- emojis.go
- fcmsubscriptions.go
- filestorage.go
- image.go
- imagesize.go
- invitation.go
- lastseenonline.go
- mixin.go
- monthlysubscription.go
- notification.go
- notificationpermission.go
- notificationtime.go
- passwordtoken.go
- phoneverificationcode.go
- profile.go
- pwapushsubscription.go
- sentemail.go
- user.go
- sentemail.go
- where.go
- user.go
- where.go
- client.go
- emailsubscription.go
- emailsubscription_create.go
- emailsubscription_delete.go
- emailsubscription_query.go
- emailsubscription_update.go
- emailsubscriptiontype.go
- emailsubscriptiontype_create.go
- emailsubscriptiontype_delete.go
- emailsubscriptiontype_query.go
- emailsubscriptiontype_update.go
- emojis.go
- emojis_create.go
- emojis_delete.go
- emojis_query.go
- emojis_update.go
- ent.go
- fcmsubscriptions.go
- fcmsubscriptions_create.go
- fcmsubscriptions_delete.go
- fcmsubscriptions_query.go
- fcmsubscriptions_update.go
- filestorage.go
- filestorage_create.go
- filestorage_delete.go
- filestorage_query.go
- filestorage_update.go
- generate.go
- image.go
- image_create.go
- image_delete.go
- image_query.go
- image_update.go
- imagesize.go
- imagesize_create.go
- imagesize_delete.go
- imagesize_query.go
- imagesize_update.go
- invitation.go
- invitation_create.go
- invitation_delete.go
- invitation_query.go
- invitation_update.go
- lastseenonline.go
- lastseenonline_create.go
- lastseenonline_delete.go
- lastseenonline_query.go
- lastseenonline_update.go
- monthlysubscription.go
- monthlysubscription_create.go
- monthlysubscription_delete.go
- monthlysubscription_query.go
- monthlysubscription_update.go
- mutation.go
- notification.go
- notification_create.go
- notification_delete.go
- notification_query.go
- notification_update.go
- notificationpermission.go
- notificationpermission_create.go
- notificationpermission_delete.go
- notificationpermission_query.go
- notificationpermission_update.go
- notificationtime.go
- notificationtime_create.go
- notificationtime_delete.go
- notificationtime_query.go
- notificationtime_update.go
- passwordtoken.go
- passwordtoken_create.go
- passwordtoken_delete.go
- passwordtoken_query.go
- passwordtoken_update.go
- phoneverificationcode.go
- phoneverificationcode_create.go
- phoneverificationcode_delete.go
- phoneverificationcode_query.go
- phoneverificationcode_update.go
- profile.go
- profile_create.go
- profile_delete.go
- profile_query.go
- profile_update.go
- pwapushsubscription.go
- pwapushsubscription_create.go
- pwapushsubscription_delete.go
- pwapushsubscription_query.go
- pwapushsubscription_update.go
- runtime.go
- sentemail.go
- sentemail_create.go
- sentemail_delete.go
- sentemail_query.go
- sentemail_update.go
- tx.go
- user.go
- user_create.go
- user_delete.go
- user_query.go
- user_update.go
- EmailDisabledIcon.svelte
- EmailEnabledIcon.svelte
- LoadingSpinner.svelte
- PushDisabledIcon.svelte
- PushEnabledIcon.svelte
- SmsDisabledIcon.svelte
- SmsEnabledIcon.svelte
- _NotificationPermission.svelte
- EmailSubscribe.svelte
- IndividualNotificationPermission.svelte
- IOSSubscribePush.svelte
- PermissionButton.svelte
- PwaSubscribePush.svelte
- SmsSubscribe.svelte
- MultiSelectComponent.svelte
- NotificationPermissions.svelte
- PhoneNumberPicker.svelte
- PhotoUploader.svelte
- PwaInstallButton.svelte
- PwaSubscribePushChecker.svelte
- SingleSelect.svelte
- SvelteTodoComponent.svelte
- ThemeToggle.svelte
- utils.js
- main.js
- cal_heatmap.js
- load_scripts_and_styles.js
- main.js
- test_quiz.js
- Dockerfile
- init_pgvector.sh
- context.go
- context_test.go
- controller.go
- controller_test.go
- form.go
- form_test.go
- page.go
- page_test.go
- pager.go
- pager_test.go
- constants.go
- enum.go
- maps.go
- struct.go
- funcmap.go
- funcmap_test.go
- htmx.go
- htmx_test.go
- auth.go
- auth_test.go
- cache.go
- cache_test.go
- device.go
- entity.go
- entity_test.go
- lastseenonline.go
- log.go
- log_test.go
- middleware_test.go
- onboarding.go
- sentry.go
- emailsubscriptionrepo.go
- emailsubscriptionrepo_test.go
- update_email.go
- update_email_test.go
- mailer.go
- resend.go
- smtp.go
- msg.go
- msg_test.go
- notificationstoragerepo.go
- notificationstoragerepo_test.go
- notifier.go
- notifier_test.go
- permissions.go
- permissions_test.go
- planned_notifications.go
- planned_notifications_test.go
- push_notifications_fcm.go
- push_notifications_fcm_test.go
- push_notifications_pwa.go
- sms.go
- profilerepo.go
- profilerepo_test.go
- pubsub.go
- mocks.go
- storagerepo.go
- subscriptions.go
- subscriptions_test.go
- routenames.go
- about.go
- about_test.go
- clear_site_cookie.go
- contact.go
- delete_account.go
- docs.go
- email_subscribe.go
- error.go
- forgot_password.go
- healthcheck.go
- helpers.go
- home.go
- home_feed.go
- install_app.go
- landing.go
- login.go
- logout.go
- notifications.go
- payments.go
- preferences.go
- privacy.go
- profile.go
- profile_photo.go
- push_notifs.go
- realtime.go
- register.go
- register_test.go
- reset_password.go
- router.go
- routes_test.go
- upload_photo.go
- verify_email.go
- verify_email_subscription.go
- auth.go
- auth_test.go
- cache.go
- cache_test.go
- container.go
- container_test.go
- services_test.go
- tasks.go
- tasks_test.go
- validator.go
- validator_test.go
- mail.go
- notifications.go
- subscriptions.go
- tests.go
- about.go
- committed.go
- contact.go
- email_subscribe.go
- emails.go
- forgot_password.go
- home.go
- home_feed.go
- invitations.go
- landing_page.go
- login.go
- notifications.go
- page_data.go
- payments.go
- preferences.go
- profile.go
- register.go
- reset_password.go
- search.go
- 100.png
- 1024.png
- 114.png
- 120.png
- 128.png
- 144.png
- 152.png
- 16.png
- 167.png
- 180.png
- 20.png
- 256.png
- 29.png
- 32.png
- 40.png
- 50.png
- 512.png
- 57.png
- 58.png
- 60.png
- 64.png
- 72.png
- 76.png
- 80.png
- 87.png
- Contents.json
- Contents.json
- Contents.json
- launch-128.png
- launch-192.png
- launch-64.png
- Contents.json
- LaunchScreen.storyboard
- Main.storyboard
- .gitignore
- Entitlements.plist
- AppDelegate.swift
- GoogleService-Info.plist
- IAP.swift
- Info.plist
- Printer.swift
- PushNotifications.swift
- SceneDelegate.swift
- Settings.swift
- ViewController.swift
- WebView.swift
- IDEWorkspaceChecks.plist
- WorkspaceSettings.xcsettings
- contents.xcworkspacedata
- Cherie.xcscheme
- project.pbxproj
- IDEWorkspaceChecks.plist
- contents.xcworkspacedata
- .gitignore
- launch-128.png
- launch-192.png
- launch-256.png
- launch-512.png
- launch-64.png
- LICENSE
- Podfile
- next-steps.html
- regen_logo_images.py
- requirements.txt
- seeder.go
- seeder_test.go
- cherie_pwa_apple-icon-180.png
- cherie_pwa_manifest-icon-192.maskable.png
- cherie_pwa_manifest-icon-512.maskable.png
- cherie_pwa_manifest-icon-96.maskable.png
- favicon.png
- icon.png
- main.css
- main.css.map
- main.js
- main.js.map
- manifest.json
- meta_main.json
- meta_svelte_bundle.json
- meta_vanilla_bundle.json
- styles_bundle.css
- svelte_bundle.css
- svelte_bundle.css.map
- svelte_bundle.js
- svelte_bundle.js.map
- vanilla_bundle.js
- vanilla_bundle.js.map
- styles.css
- tailwind_components.css
- accordion.templ
- accordion_templ.go
- auth.templ
- auth_templ.go
- bottom_nav.templ
- bottom_nav_templ.go
- core.templ
- core_templ.go
- documentation.templ
- documentation_templ.go
- drawer.templ
- drawer_templ.go
- empty_page_msg.templ
- empty_page_msg_templ.go
- forms.templ
- forms_templ.go
- heatmap.templ
- heatmap_templ.go
- icons.templ
- icons_templ.go
- loading.templ
- loading_templ.go
- logos.templ
- logos_templ.go
- messages.templ
- messages_templ.go
- navbar.templ
- navbar_templ.go
- payments.templ
- payments_templ.go
- permissions.templ
- permissions_templ.go
- prev_nav.templ
- prev_nav_templ.go
- profile.templ
- profile_templ.go
- pwa_install.templ
- pwa_install_templ.go
- sidebar.templ
- sidebar_templ.go
- theme_toggle.templ
- theme_toggle_templ.go
- tooltip.templ
- tooltip_templ.go
- top_banner.templ
- top_banner_templ.go
- password_reset.templ
- password_reset_templ.go
- registration_confirmation.templ
- registration_confirmation_templ.go
- subscription_confirmation.templ
- subscription_confirmation_templ.go
- test.templ
- test_templ.go
- update.templ
- update_templ.go
- helpers.templ
- helpers_templ.go
- auth.templ
- auth_templ.go
- documentation.templ
- documentation_templ.go
- email.templ
- email_templ.go
- landing_page.templ
- landing_page_templ.go
- main.templ
- main_templ.go
- about.templ
- about_templ.go
- contact.templ
- contact_templ.go
- delete_account.templ
- delete_account_templ.go
- docs_architecture.templ
- docs_architecture_templ.go
- docs_emails.templ
- docs_emails_templ.go
- documentation.templ
- documentation_templ.go
- email_subscribe.templ
- email_subscribe_templ.go
- error.templ
- error_templ.go
- forgot_password.templ
- forgot_password_templ.go
- healthcheck.templ
- healthcheck_templ.go
- home.templ
- home_feed.templ
- home_feed_templ.go
- home_templ.go
- install_app.templ
- install_app_templ.go
- invitations.templ
- invitations_templ.go
- landing_page.templ
- landing_page_templ.go
- login.templ
- login_templ.go
- notifications.templ
- notifications_templ.go
- payments.templ
- payments_templ.go
- phone.templ
- phone_templ.go
- preferences.templ
- preferences_templ.go
- privacy_policy.templ
- privacy_policy_templ.go
- profile.templ
- profile_templ.go
- register.templ
- register_templ.go
- reset_password.templ
- reset_password_templ.go
- templates.go
- 1.jpg
- 2.jpg
- .air.toml
- .dockerignore
- .env.dev
- .gitattributes
- .gitignore
- build.mjs
- docker-compose.yml
- Dockerfile
- entrypoint.sh
- go.mod
- go.sum
- LICENSE
- Makefile
- package-lock.json
- package.json
- Procfile
- README.md
- service-worker.js
- tailwind.config.js
- tsconfig.json
# Installation Guide
git clone https://github.com/leomorpho/goship
Downloads the entire project code from GitHub to your computer.
cd goship
Moves into the project folder you just downloaded.
2. Docker
Easy Recommended- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
|-- docker-compose.yml # Docker compose file for running the project locally with Docker Desktop
Runs the command against the services defined in the compose file.
make up # Starts the docker containers
Compiles the code based on the generated build configuration to produce an executable.
make down # Stops the docker containers
Compiles the code based on the generated build configuration to produce an executable.
make down-volume # Stops the docker containers and removes the volumes
Compiles the code based on the generated build configuration to produce an executable.
make reset # Stops the docker containers and removes the volumes, then rebuilds the docker containers
Compiles the code based on the generated build configuration to produce an executable.
Pulled directly from this repo's README.
3. Node.js
Easycd e2e_tests
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
4. Python
Easypython3 -m venv .venv
Runs the Python script (or module).
pip install -r requirements.txt
Installs the Python libraries listed in requirements.txt (or similar).
Pulled directly from this repo's README.
5. Go
Mediumgo build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
6. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make init
Compiles the code based on the generated build configuration to produce an executable.
make watch
Compiles the code based on the generated build configuration to produce an executable.
make init # Initializes the project
Compiles the code based on the generated build configuration to produce an executable.
make watch # Runs the project in watch mode, rebuilding assets as you go (JS, CSS, Templ, etc)
Compiles the code based on the generated build configuration to produce an executable.
make test # Runs the tests
Compiles the code based on the generated build configuration to produce an executable.
Pulled directly from this repo's README.
