Skip to content

maddy13182/harmoni

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Family Calendar App

A cross-platform family calendar application built with React Native and Expo, integrated with Palantir Foundry for backend data management.

Features

  • πŸ“… Interactive calendar view
  • πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Family member management
  • πŸ“± Cross-platform support (iOS, Android, Web)
  • πŸ”„ Real-time sync with Palantir Foundry
  • 🎨 Clean, intuitive UI

Tech Stack

  • React Native - Cross-platform mobile framework
  • Expo - Development platform and tooling
  • TypeScript - Type-safe development
  • Palantir Foundry OSDK - Backend integration
  • React Native Calendars - Calendar component
  • React Navigation - Navigation (to be implemented)
  • date-fns - Date manipulation utilities

Prerequisites

  • Node.js v18 or newer
  • npm or yarn
  • Expo Go app on your mobile device (for testing)
  • Palantir Foundry account with OSDK access

Installation

  1. Clone the repository (if applicable)

    cd family_calanderapp
  2. Install dependencies

    npm install
  3. Configure Foundry connection

    • Copy .env.example to .env
    • Fill in your Foundry instance details:
      EXPO_PUBLIC_FOUNDRY_URL=https://your-foundry-instance.palantirfoundry.com
      EXPO_PUBLIC_FOUNDRY_ONTOLOGY=your-ontology-rid
      EXPO_PUBLIC_FOUNDRY_TOKEN=your-api-token
      

Running the App

Start the development server

npm start

This will open the Expo DevTools in your browser.

Test on iOS

npm run ios

Or scan the QR code with your iPhone camera (requires Expo Go app)

Test on Android

npm run android

Or scan the QR code with the Expo Go app

Test on Web

npm run web

Project Structure

family_calanderapp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/      # Reusable UI components
β”‚   β”œβ”€β”€ screens/         # Screen components
β”‚   β”‚   β”œβ”€β”€ CalendarScreen.tsx
β”‚   β”‚   └── HomeScreen.tsx
β”‚   β”œβ”€β”€ services/        # API and Foundry integration
β”‚   β”‚   └── foundryClient.ts
β”‚   β”œβ”€β”€ types/           # TypeScript type definitions
β”‚   β”‚   └── index.ts
β”‚   └── utils/           # Utility functions
β”œβ”€β”€ App.tsx              # Main app component
β”œβ”€β”€ package.json         # Dependencies
└── tsconfig.json        # TypeScript configuration

Development Workflow

  1. Make changes to your code
  2. Save the file - Expo will automatically reload
  3. Test on device using Expo Go
  4. Iterate quickly with hot reload

Foundry Integration

The app uses Palantir Foundry OSDK for backend operations. Key integration points:

  • src/services/foundryClient.ts - Foundry client configuration
  • Environment variables for secure credential management
  • Type-safe API calls using TypeScript

Implementing Foundry Queries

Update src/services/foundryClient.ts with your actual Foundry object types:

// Example: Fetch calendar events
export async function fetchCalendarEvents(startDate: Date, endDate: Date) {
  const events = await foundryClient.objects.CalendarEvent
    .where(event => event.startDate >= startDate && event.endDate <= endDate)
    .fetchPage();
  return events;
}

Next Steps

  • Implement navigation between screens
  • Add event creation/editing functionality
  • Implement family member management
  • Add authentication
  • Connect to actual Foundry data sources
  • Add push notifications
  • Implement recurring events
  • Add event reminders

Testing

iOS Testing

  • Free: Use Expo Go app (no Apple Developer account needed)
  • Paid: Build standalone app ($99/year Apple Developer Program)

Android Testing

  • Free: Use Expo Go app or build APK
  • Paid: Publish to Google Play Store ($25 one-time fee)

Web Testing

  • Free: Test locally or deploy to Vercel/Netlify

Building for Production

iOS

eas build --platform ios

Android

eas build --platform android

Web

npm run web
# Then deploy the web-build folder to your hosting service

Troubleshooting

Node.js not found

If you're using nvm, make sure to activate it:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm use 22.18.0

Expo Go connection issues

  • Ensure your phone and computer are on the same WiFi network
  • Try using tunnel mode: expo start --tunnel

Foundry connection errors

  • Verify your .env file has correct credentials
  • Check that your Foundry token has appropriate permissions
  • Ensure your Foundry instance is accessible

Contributing

  1. Create a feature branch
  2. Make your changes
  3. Test on all platforms
  4. Submit a pull request

License

[Your License Here]

Support

For issues or questions, please contact [your contact info]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors