This is a source code repository of Castcle Platform's backend micro services.
All works and source files published in this repository are published under GNU AGPLv3 license terms.
Our first mission is to create a fair social media by decentralizing values created on the platform back to the hands of whom it might belong to. We believe that everyone plays a crucial role in contributing values to the platform, for example, creating contents, giving feedbacks on those contents by clicking on LIKE button, etc. Data generated by every single user will benefit the platform --the community-- as a whole. Thus, the users should earn some benefits and own the community that they help building up as well. Castcle will reward users by distributing CAST token to each contribution they made e.g. feed reading, content creating and content farming. This makes every user beneficial from the success of Castcle platform by just holding CAST token. Ultimately, in the long run, anyone can be an owner of Castcle platform proportionated to the values they created on this platform.
Eventhough we believe in user rights and free speeches, decentralizing content custodian can cause more harm than good. For example, violence VDOs, photos demonstrating drug uses, mis/disinformation contents, might affect users without discretion, especially in youth users. Hence, by disrupting the power of content custodian, making no one can take down violated contents, will apparently cause more harm to the society than good. This is why we're not focusing on building up a non-content-custodian social network platform.
As the rise of blockchain technology, making anyone can trust on digital assets, aka TOKEN, will play a crucial role in making social media fairer. As stated in About section above, we believe that decentralizing platform ownership to users proportionated to the values they created is a key to create a successful and more sustainable ecosystem.
For Tokenomics, Key Features, Key Ideas, and more Technical Issues, please see our WHITEPAPER and PITCH DECK for more details.
-
Download and install npm from https://nodejs.org/en/download/.
-
Download and install git tool you prefer. If you don't have one, try Github Desktop.
-
Clone, aka Check out, this repository to your local
<INSTALL_DIR>
by following these steps. -
Navigate to
<INSTALL_DIR>
by using Cmd (in Windows) or Terminal (in MacOS). -
Install dependency packages by executing:
> npm install
- You can run the Castcle's API backend server by executing:
> npm run start
-
To run ALL unit tests:
> npm run test
-
To run EACH micro service's unit tests:
> npm run test:<service-name>
For example,
npm run test:feeds
for 'feeds' service. You can see all availabletest:<service-name>
s inpackage.json
.
-
To build ALL micro services:
> npm run build
-
To build EACH micro service:
> npm run build:<service-name>
For example,
npm run build:authentications
for 'authentications' service. You can see all availablebuild:<service-name>
s inpackage.json
.
- To create initial campaigns:
> npm run db scripts/create-campaigns.ts -- --url=mongodb://localhost:27017/test
-
Dockerize the app by running
Dockerfile.*
files in<INSTALL_DIR>
using> docker build
.See: docker build
-
Deploy Castcle's micro services using docker image generated from step above via
> docker run
on your local computer or in any container environments.See: docker run