General purpose, offline first web and mobile applications for goal setting, achievement tracking, and getting things done. Reimagining of Points
This repository is an exploratory exercise and case study of three concepts: offline first mobile applications, code sharing via monorepos (using Nx), and microservices. The foremost technical goals of The Act App are to investigate these concepts, determine best practices, and apply them to a real-world idea.
- This application is the layer between
web
/mobile
and the CouchDB instance. In adherence with the offline first ideology, the primary responsibility of this application is to sync data between clients and the CouchDB instance. - Primary tools
- This application is the Android and iOS mobile applications in a single codebase. This is the main client facing consumer of the
api
application. Offline-first ideology dictates the need to maintain a database of information on the user's device and the ability to sync and persist any information to theapi
application. - Primary tools
- This application is (currently) an administration portal to view tabular data affected by the client. Determining cross cutting concerns between
mobile
andweb
facilitates the discovery of code-sharing best practices. - Primary tools
- React (TypeScript)
- Material UI
- WatermelonDB (LokiDB)
- This library brings the entirety of data/schema construction and maintenance to the frontend. The
api
application simply takes what this library constructs and organizes it as documents in CouchDB. This project also contains utilites for getting and observing data as it moves through theweb
andmobile
applications. - Primary tools
- TypeScript
- TSyringe
- WatermelonDB
- These two libraries handle the diverging data configurations of the
web
andmobile
applications. Not everything can or should be shared with both applications. - Primary tools
- TypeScript
- Mobile tools
- Keycloak as an OIDC provider (
@react-keycloak/native
)
- Keycloak as an OIDC provider (
- This file is for managing the required services to run The Act App.
- Services
- CouchDB
- Keycloak
- PostgreSQL