Gatherly is an application that allow coordinate party like activities.
- Coordinate People's Calendars and Availability
- Online Status Tracking and Chatting
- Route Planning based on location and arrive time
- Coordinate Items Might Bring and Track Amount By Category
- Member Requests for Items
- Forming Reusable Templates
These instructions will guide you on how start the app locally for development
- 1password cli for secret env management
- direnv
- devbox
- init db and create user
direnv allow
initdb
devbox run db
createdb $USER
- create role
postgres
$ psql
# CREATE USER postgres SUPERUSER;
# \q
- install npm packages
debox run npm_install
- setup DB for this app
devbox run setup
- app using google oauth, so need app id and secret, you can create it from google cloud console
set secrets to mac keyvaults, direnv will populate that to local session
```bash
envchain -s gatherly GOOGLE_CLIENT_ID
envchain -s gatherly GOOGLE_CLIENT_SECRET
- start db and server
devbox run postgres
devbox run start
Accessing it via http://localhost:4000 Access telemetry dashboard at http://localhost:4000/metrics Access with NativeApp via LVN go App on http://localost:4000/
- Run tests
devbox run test
- format code
devbox run format
open project in xcode
open native/apple/ios/Gatherly.xcodeproj
give it time for initial dependency download and indexing
run the app in simulator with |> button
devbox run remote
alias Gatherly.Repo
table_name = "schema_migrations"
# Construct the query to delete all records
import Ecto.Query, only: [from: 1]
query = from(u in table_name)
# Execute the deletion with error handling
try do
Repo.delete_all(query)
rescue
e in Ecto.QueryError -> IO.puts("Query Error: #{e.message}")
e in Postgrex.Error -> IO.puts("Postgrex Error: #{e.message}")
e in DBConnection.ConnectionError -> IO.puts("Connection Error: #{e.message}")
end