agora-server
agora-server copied to clipboard
Agora Server implementation for the Agora (flancia.org/go/agora).
To use
This Agora Server is meant to be used in conjunction with an Agora. An Agora is a collection of digital gardens and other information sources that are assembled into a distributed knowledge graph.
For an example Agora, and for more information on the Agora design, please refer to https://flancia.org/go/agora.
To see the Agora Server in action with the example Agora, please visit https://anagora.org.
To develop
Install OS dependencies:
$ apt-get install python3 python3-pip
Install npm. Then install JavaScript dependencies:
npm install
Install poetry (as per https://python-poetry.org/docs/ and the pip3 repository, this is the recommended way of installing):
curl -sSL https://install.python-poetry.org | python3 -
Install Python dependencies:
poetry install
If you get a virtualenv-related error above, try removing virtualenv if you had installed it separately: pip3 uninstall virtualenv.
Then run the development server:
./run-dev.sh
Please see CONTRIBUTING for instructions on how to contribute; it may require a one-time signing of a Google CLA.
Note this project is not an official Google project, and will not be supported by Google. It was simply initiated by flancian@ while employed at Google, and thus copyright belongs to Google as indicated in LICENSE and in various license headers. This should be of essentially no effect to you or its users (beyond the required signing of the CLA if you contribute), as it is released under an open license; please reach out to flancian@ or some other maintainer if this concerns you.
About the project
As you might have inferred from the above, this project is based on Flask. /app hosts the Flask app. In it:
app/__init__.pyhas the high level Flask setup.app/agora.pydoes rendering (url maps, views).app/db.pyhas logic to read/process notes. The db is actually the filesystem :)app/js-srchas Javascript and Typescript sources.app/templatesare Jinja2 templates.