The SGF Meetup API lists Meetup event details for local tech groups in the Springfield, MO area.
- Production: https://sgf-meetup-api.opensgf.org
- Staging: https://staging-sgf-meetup-api.opensgf.org
- Swagger playground: /swagger/index.html
- OpenAPI document: /swagger/doc.json
Request API credentials by opening a GitHub Issue in the SGF Meetup API repo.
In the GitHub Issue, submit a username for the API and contact information. We will assign a password to the username and send it to the contact information listed.
- Go 1.24
- Node 22.x (Ideally using nvm)
- Docker Desktop
- AWS CLI
- AWS SAM CLI
- An Open SGF AWS Account
- Message a project organizer to get one set up
aws configure sso- SSO session name:
<your name>-opensgf - SSO start URL:
https://opensgf.awsapps.com/start - SSO region:
us-east-2 - SSO registration scopes: use the default (push enter)
- SSO session name:
- Open the link in a browser
- Verify/enter the code from the terminal
- Allow access
- Continue configuration in the terminal
- CLI default client Region:
us-east-2 - CLI default output format: use the default (push enter)
- CLI profile name:
<your name>-opensgf
- CLI default client Region:
Without this you'll need to manually specify your profile for any aws commands. Including the commands in npm scripts.
- Set the
AWS_DEFAULT_PROFILEenvironment variable to the profile name you just createdexport AWS_DEFAULT_PROFILE=<your name>-opensgf
- Don't forget to reload your shell after setting this!
nvm install # if using nvm
npm install
go mod download.lambda-env.json is used when running the application with the SAM cli.
.env is used for other instances where programs run directly on a developers machine.
cp .env.example .env
cp .lambda-env.json.example .lambda-env.jsonMEETUP_GROUP_NAMESshould be a comma seperated list of meetup group names to import events from- This value can be pulled from the url of a Meetup groups page e.g. with meetup.com/sgfdevs, sgfdevs is the group name
docker compose up -dgo run ./cmd/syncdynamodbgo run ./cmd/upsertuser -clientId <ID> -clientSecret <SECRET>- This creates a new user for the API, pick your own id and secret
docker compose up -d(if not already running)- Run importer script
go run ./cmd/localsamrunner importer
- Run API
go run ./cmd/localsamrunner api
- Open Swagger docs
Note: Valid AWS creds must be present to run either of the above commands. The easiest way to handle this would be to have a valid aws profile and add the
--profile <profile name>to the above commands
- Ensure docker is running
go test ./cmd/... ./pkg/...
- CTRL + C to shut down API
docker compose down
If it's been awhile since you've last run the project, your SSO session in the AWS CLI has expired. To fix it:
aws sso login- Open the link in a browser and follow the prompts