Coder Social home page Coder Social logo

nlewis84 / apollos-apps Goto Github PK

View Code? Open in Web Editor NEW

This project forked from isaachardy/apollos-prototype

0.0 0.0 0.0 26.49 MB

Apollos Apps is an open source platform for launching better native apps for the modern church.

Home Page: https://apollosapp.io

License: Other

JavaScript 95.77% Shell 0.16% Starlark 0.03% Java 0.31% Objective-C 0.28% Ruby 0.10% C 0.01% Swift 0.19% Kotlin 0.33% TypeScript 2.83%

apollos-apps's Introduction

Develop

Install tools necessary

Install Dependencies

yarn

Simple

For simple UI component development, you can use the Storybook app in the root directory by typing:

yarn storybook

This will boot generate stories from the different packages and surface them in a React Native app on an iPhone Simulator

For simple API deployment, you can use a copy of our api template repo. Start by running

yarn api

You'll need to have the secret key for the .env file handy. You can pull down specific branches by running yarn api branch-name. Be careful not to make any changes in the ApollosApi folder, since that folder is wiped out on every run to yarn api.

Advanced

For more advanced development, you will need to use our templates repo. This will allow you to spin a local version of the API and app.

from apollos-apps

Get Postgres running locally

brew install postgresql

Register the packages with linkemon

yarn link-packages
yarn start

from apollos-templates

Clone down the templates repo and run through the quickstart to add all necessary environment variables.

Add reference in the app .env file. This step is necessary for wml to locate packages.

APOLLOS_APPS_LOCATION=../../apollos-apps

Link packages with linkemon

yarn link-packages

Run simply run yarn start to start up the server and app. If you need to unlink the local packages in the templates repo to test that NPM dependencies are working properly, run yarn unlink-packages from both the apps and templates repos.

PRs

We use the Angular Conventional Commits preset for pull requests and commits. Squash merges should be in this form:

fix|feat|perf|chore: lower case title

BREAKING CHANGE: line describing any breaking changes

Publish

We publish to both the standard NPM registry and Github Packages. Follow these steps.

GitHub Package Registry

Push a preliminary package version to Github for aesthetic purposes. We won't tag or push the actual code yet. First add an .npmrc file to the root of this directory that looks like this:

//npm.pkg.github.com/:_authToken=TOKEN

Get the TOKEN from creating a Personal Access Token in your Github settings and give it read/write access to packages.

Now run the same yarn release:<XXX> command you will run for NPM (from below) but add --registry "https://npm.pkg.github.com" --no-git-tag-version"

NPM.js Registry

Change your .npmrc file to this:

//registry.npmjs.org/:_authToken=TOKEN

Replace TOKEN with an access token with publish rights from your NPM settings.

You can do a release three different ways:

Canary (1.0.1-canary.0)

yarn release:canary

Will publish a patch prerelease version without committing. Can be installed via:

yarn add @apollosproject/package@canary

Next (2.0.0-canary.0)

yarn release:next

Will publish a major prerelease version without committing. Can be installed via:

yarn add @apollosproject/package@next

Stable

GH_TOKEN=<personal github token> yarn release

Will publish a version based on the commits according to conventional commits standards. Will automatically create a Github release and push commit and tags. Can be installed via:

yarn add @apollosproject/package

apollos-apps's People

Contributors

vinnyjth avatar redreceipt avatar conrad-vanl avatar apollosadmin avatar burkeshartsis avatar richarddubay avatar erikkgagewhitt avatar dependabot[bot] avatar jordanwade avatar jimmyhogoboom avatar christinamegura avatar lmommaerts avatar calebpanza avatar isaachardy avatar ridderingand avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.