3.9 KiB
apXtri
Context
A community of SAAS Hosters (Software As A Service), a full solution to create a decentralized economy for Sys Admin, web dev (back/front/fullstack), entrepreneur, producer, consummer.
apXtri a DAO (Decentralize Autonomous Organization), synchronize many nodes (server) called "town" that respects set of rules (called "nation"). A user called a "pagan" has a unique alias anonymous (or not) identity link to a PGP key pair (public/private) that allow him to sign any action to proof the ownership of an alias.
A node (town) can host group of people called a tribe. Each tribe has a web space (public or private) to host web app or page as well as api endpoint. Any user (Pagan) can join a tribe and becoming a person into a tribe define by the tribe owner.
Rules management works like russian dolls, a tribe define its onw rules that respect by design the towns rules, that respect the nation rules. Any user actions under rules are store into a blockchain. The blockchain is manage by each town owner.
Tech in actions
apXtri, use open source tools to be easily auditable and respect the RESTFull api concept.
- ubuntu LTS (desktop https://ubuntu.com/desktop for dev, server https://ubuntu.com/server for production)
- nginx to serve https web page and proxy serve api services https://nginx.org/
- node.js / express.js to provide endpoint in a routes/models https://expressjs.com/
- JSON schema https://json-schema.org/specification to define some item collection
Get support
The adminapi endpoint doc are documented here https://antsnation.mooo.com/apidoc/index.html
Training is under working, for entrepreneur that have ingenior skills but not IT skills, to help to become atonomous in managing an apXtri node as well to dev some web interface and endpoint to dev a full SAAS.
Contact support@need-data.com for any help.
Installation
adminapi is a special tribe that rules all tribes to provide a SAAS solution easy to customize as a node.js dev.
Tech pre-request
For dev:
Install an ubuntu desktop machine https://ubuntu.com/desktop
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install git vim libcap2-bin p7zip-full p7zip-rar curl nginx
In the next step replace {apxuser} by the login user you used to install ubuntu
Only if you want to create a specific user in your desktop :
$ sudo useradd -s /bin/bash -m -d /home/{apxuser} -c "{apxuser}" {apxuser}
$ sudo passwd {apxuser}
$ sudo usermod -aG sudo {apxuser}
# Switch to the new user:
$ su {apxuser}
In anycase continue with:
$ sudo visudo
# Add the following line to the file:
$ {apxuser} ALL=(ALL) NOPASSWD: ALL
$ mkdir ~apxtowns/dev-ants
$ sudo echo "127.0.0.1 dev-ants" > /etc/hosts
# Install the latest version of nvm (check the website for the latest version: https://github.com/nvm-sh/nvm)
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
# Close and re-open the terminal under the apxuser
$ nvm --version
# Then recheck the nvm version
$ nvm --version
# Install Node.js, npm, and yarn. Follow the online instructions to update the configuration properly.
$ nvm install node
$ node --version # to check the Node.js version
$ npm install --global yarn
$ yarn --version # to check the yarn version
$ mkdir ~/apxtowns # if it does not exist
$ mkdir ~/apxtowns/dev-ants
$ cd ~/apxtowns/dev-ants
$ sudo chown {apxuser}:root /etc/nginx/nginx.conf
$ git clone https://gitea.ndda.fr/apxtri/adminapi.git
$ yarn install
$ yarn dev
Open http://dev-ants in your browser after installation. you are ready to dev in adminapi or in your tribe by following the web interface.
You can create a git project of your tribe, we add a default .gitignore to not ignore data store in object.
If you want to contribute fixing bug, add new features in adminapi please push in your branch and send an email to support@need-data.com.
For production
step