Skip to content

A geo-social network for sharing content on the go. Travel the globe to activate moments and connect with people who were there once before. Or, host an event and share content exclusively with attendees.

License

Notifications You must be signed in to change notification settings

rili-live/therr-app

Repository files navigation

Therr App

main: CircleCI | stage: CircleCI

Mobile Build

main: Build status

Description

A social network that connects people by proximity through the distance of time

Getting Started

First we need to setup Postgres and Redis to run locally. Mac users can install postgres with brew. It's best to configure postgres with no password for simplicity. We can also create a user and grant them superuser privileges. See 'Database Setup below'. Also make sure postgis is installed along with postgres as its required for maps services. See 'Database Setup below'.

Database Setup

We first need to create our 4 dev databases therr_dev_users, therr_dev_maps, therr_dev_reactions, therr_dev_messages and create a schema, "main" in each db. Then we can proceed to run the database migration scrips found in each sub-directory. See each microservice README.md (ie. therr-services/users-service/README.md) for detailed steps.

Installing Dependencies

We have some helper scripts in the root package.json. Try npm run install:all to loop through each microservice and install npm packages. This script first preps your environment to ensure you have the correct npm and node version. It's best to use nvm to manage these versions. Run npm run build:all:dev from the root to build all the custom libraries.

Running The App Locally

Setup the .env with correct credentials. Each microservice has it's own package.json with start scripts. We can simply build with npm run build:dev then run npm run start to run the nodejs service with nodemon. See each microservice README.md (ie. therr-services/users-service/README.md) for detailed steps.

Documentation

Documentation is mantained within the repo to align with a mentality of inline documentation, knowledge share, self documenting code, and consolidation of information/configrations.

Libraries & Utilities Docs

These packages should use treeshaking and emphasize reusability, clean code, single-purpose methodologies

API Gateway Docs

API Gateway is a public service that interfaces with microservices. It adds a layer of abstraction along with security and validations.

Microservice Docs

Microservices are secured in a private subnet (excluding websocket-service).

Frontend Docs

The web frontend and mobile app frontend share a common redux layer from the Therr React Library

About

A geo-social network for sharing content on the go. Travel the globe to activate moments and connect with people who were there once before. Or, host an event and share content exclusively with attendees.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published