mirror of https://gitlab.com/ecentrics/concordia
Apostolos Fanakis
4 years ago
10 changed files with 109 additions and 15 deletions
@ -0,0 +1,35 @@ |
|||||
|
# About Concordia |
||||
|
|
||||
|
## What |
||||
|
|
||||
|
Concordia is a forum platform (remember forums? 🤩) that focuses on user privacy and direct democratic voting. It is a |
||||
|
FOSS distributed via its Gitlab [repository][concordia-repository] and Docker [repository][concordia-docker-hub] under |
||||
|
the [MIT][concordia-license] license. |
||||
|
|
||||
|
## Why |
||||
|
|
||||
|
The value of privacy, freedom of speech and democracy are diminishing in modern software. Even more so in social media |
||||
|
platforms. Users are called to select between being the product of companies that sell their personal information and |
||||
|
being shut out of the modern, digital society. |
||||
|
|
||||
|
Concordia, much like other projects of this kind, provides an alternative to this predicament. |
||||
|
|
||||
|
## How |
||||
|
|
||||
|
Concordia uses decentralized technologies, namely the Ethereum blockchain and its smart contracts, as well as the |
||||
|
distributed database OrbitDB that's based on the decentralized network IPFS. These technologies make Concordia |
||||
|
impervious to censorship and guaranty the immutability of user information and anonymity while enabling user |
||||
|
authentication that makes trusted, direct voting possible. |
||||
|
|
||||
|
You can read more about the technological stack in Concordia's [whitepaper][concordia-whitepaper]. |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
Developed by [apostolof][devs-apostolof-profile], [ezerous][devs-ezerous-profile] |
||||
|
|
||||
|
[concordia-repository]: https://gitlab.com/ecentrics/apella |
||||
|
[concordia-docker-hub]: https://hub.docker.com/repository/docker/ecentrics/apella-app |
||||
|
[concordia-license]: https://gitlab.com/ecentrics/apella/-/blob/master/LICENSE.md |
||||
|
[devs-apostolof-profile]: https://gitlab.com/Apostolof |
||||
|
[devs-ezerous-profile]: https://gitlab.com/Ezerous |
||||
|
[concordia-whitepaper]: https://whitepaper.concordia.ecentrics.net |
After Width: | Height: | Size: 4.5 KiB |
@ -0,0 +1,43 @@ |
|||||
|
import React, { |
||||
|
memo, useEffect, useState, |
||||
|
} from 'react'; |
||||
|
import ReactMarkdown from 'react-markdown'; |
||||
|
import { Container, Image } from 'semantic-ui-react'; |
||||
|
import AboutMd from '../../assets/About.md'; |
||||
|
import appLogo from '../../assets/images/app_logo_circle.svg'; |
||||
|
|
||||
|
const targetBlank = () => ({ href, children }) => ( |
||||
|
<a href={href} target="_blank" rel="noopener noreferrer"> |
||||
|
{children} |
||||
|
</a> |
||||
|
); |
||||
|
|
||||
|
const About = () => { |
||||
|
const [aboutMd, setAboutMd] = useState(''); |
||||
|
|
||||
|
useEffect(() => { |
||||
|
fetch(AboutMd) |
||||
|
.then((response) => response.text()) |
||||
|
.then((text) => { |
||||
|
setAboutMd(text); |
||||
|
}); |
||||
|
}, []); |
||||
|
|
||||
|
return ( |
||||
|
<Container id="about-container"> |
||||
|
<div style={{ textAlign: 'center' }}> |
||||
|
<Image src={appLogo} size="small" centered /> |
||||
|
{`v${process.env.REACT_APP_VERSION}`} |
||||
|
</div> |
||||
|
<ReactMarkdown |
||||
|
source={aboutMd} |
||||
|
renderers={{ |
||||
|
link: targetBlank(), |
||||
|
linkReference: targetBlank(), |
||||
|
}} |
||||
|
/> |
||||
|
</Container> |
||||
|
); |
||||
|
}; |
||||
|
|
||||
|
export default memo(About); |
Loading…
Reference in new issue