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
- Once off setup
Setup database with db and user
cd gatherly
direnv allow
initdb
createdb $USER
create role postgres
psql
# CREATE USER postgres SUPERUSER;
exit
create DB for this app
run db setup
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
install npm packages
devbox run npm_install
- 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