Crowde is composed by multiple parts.
Firebase is a Platform as a Service owned by Google. Crowde's entire infrastructure is based on Firebase. Firebase is used for authentication, storing data and files, running cloud functions and hosting the web-client. Learn more
Isofire is a Library/Framework developed along side crowde. It is used to enable isomorphic code, that can be executed on client & server. Isofire provides an abstraction layer to firebase's firestore, storage and cloud functions. Currently only Firebase is supported. It's main benefit is, that it abstracts the firebase's client and server SDKs and provides an isomorphic api. Additionally it introduces some useful concepts like
Isofire is published on npm and is installed during
npm install. If you just want to get started with this project you don't have to worry about it. Isofire's sourcecode is managed in a private github repository. If you are interested in isofire and want to get involved let us know: email@example.com
Most of crowde's business logic is written using isofire and can be found in the
Cloud Functions are used for server-side-logic. Most Operations in crowde are done directly from the web-client to firestore, but for some operations the web-client cannot be bothered or trusted. Cloud Functions are mainly used for those Operations, that are computing-intensive or require system-wide permissions. They are mostly triggered by changes in firestore and mostly respond by writing back into firestore. There are a few exceptions, like a function responding to a newly registered user in Firebase Auth. Functions in this project are defined in
/functions/. Learn more
The Dev-Server can be found in
/server/ and is only used to perform one-time operations or for developing and testing server-side logic like jobs. This is not needed for production. If you want to get into crowde's server-side development, contact firstname.lastname@example.org.
This Documentation is written in Markdown and can be found and edited in the
/docs/ folder. The Documentation-Website presenting these docs is hosted on docs.crowde.net via netlify and developed using docusaurus. The Documentation Website can be found in the
/docs-web/ folder. To start development on the Documentation Website run
npm run docs in the project's main directory.