Skip to content

Frames as a mobile native app! The one stop repository for native mobile farcaster experiences offering the same to web and additional API building possibilities.

Notifications You must be signed in to change notification settings

dtechvision/expocaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expocaster

Expo mobile, web and API for creating Farcaster native applications.

Version: v0.0.0

The one stop repository for native mobile farcaster experiences offering the same to web and additional API building possibilities.

That way with the same code written once you can

  • Run a native mobile app
  • Run a responsive web app
  • Farcaster Frames Backend and general API/backend

Write once, enjoy everywhere.

Contribute

Getting Started

to test follow instructions for full expo or use Docker for Web + API routes

  1. Clone the repository
  2. npm install
  3. npm cache clean --force
  4. npm expo start

You'll now be greated by Expo where you can check their docs

Create-Expo-Stack was used to jumpstart this repo in one command npx create-expo-stack@latest expocaster --expo-router --drawer+tabs --nativewind --firebase

built using Farcaster Ecosystem awesomness

npm install farcasterkit

also built on top of Typescript awesomeness

Contribute

The stack used has NativeWind for styling so you can use the typical className="" syntax your might now from web with Tailwind.

otherwise it's straight Typescript and Expo.

To contribute changes/improvements

  1. fork the repository
  2. make your changes
  3. submit a PR

To contribute feedback and bug reports

  1. create an Issue

Deployment of Frames and Web

Official Expo Deployment Documentation here to be used as most up to date document and reference checked if the below doesn't work!

Dockerfile

IMPORTANT: use the .dockerignore to control what is included in the Docker Image! .env is excluded and env variables shall be used.

to build

docker build -t expocaster .

to run

docker run -d -p 3000:3000 expocaster

We are using NodeJS as deployment in the Dockerfile trying to build the smallest Dockerfile we can (without using distroless).

To install Docker on Ubuntu go here also make sure to use docker group instead of sudo if possible :)

Now by building the docker container you can deploy anywhere that supports docker including Kubernetes, DigitalOcean Droplets, Akash.network and the likes.

Kubernetes (Helm Chart)

A Helmchart deployment for the sample, where you can simply change the Dockerfile of your choosing and get up and running will follow soon.

NodeJS with Express

Expo's Official Documentation can be found here and should be referenced if the below doesn't work

the one command build expo web for prod and use express routing

npx expo export -p web && cp server.js dist/ && cp package.json dist/

now you can copy the contents of dist/ to your nodeJS server root dir and serve with

node server.js

Vercel

NOTE: this hasn't been made work, but is what documentation states! If you make it work please open a PR!

If your remote build doesn't work you may try prebuilding and then uploading like so:

this assumes you have vercel installed (npx vercel) and configured

npx vercel build && npx vercel deploy --prebuilt

About

Frames as a mobile native app! The one stop repository for native mobile farcaster experiences offering the same to web and additional API building possibilities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published