An experimental personal (FOSS) project for the semantic web.
GPL-3.0 License
This is a personal project I have started to explore how semantic web technologies can be integrated in a web application using current web technologies.
It is still in its very early experimental phases.
Currently, it consists of a React + Redux application that is rendered on the server, based on data stored as JSON-LD (a JSON-based format to serialize Linked Data).
The rendered React tree is then sent to the client as an HTML-page. The linked data is included in the head
of the page, inside of a script-tag. This is a wide-spread technique to make the data available to web crawlers.
On the client, the React application is brought to life by retrieving the data from the head
and injecting it into the Redux store.
The main advantages of this approach are these:
The application uses MongoDB as the database engine. You can download the community edition here.
You should configure Lynx to use your MongoDB instance by adding the appropriate configuration (see the config
folder).
The session middleware used uses a secret to protect sessions from being hijacked.
You should configure Lynx to use a randomly generated string as a session secret by adding the appropriate configuration (see the config
folder).
grunt
builds the source files.grunt build:server
builds the server files only.grunt build:client
builds the client files only (also copies the stylesheets from source to dist).yarn start
runs the application.yarn lint
lints the source files using ESLint.