Full-stack source for the Expand app, an anonymous and secure blockchain based journalism service.
The views and opinions expressed by the commit author(s) may not reflect their political/religious/etc views or views of other users.
Codename Expand is an open-source website promoting decentralized, anonymous and secure journalism. Originally developed at Horizons School of Technology during a three-day period, expand has grown into a fun and constantly developing project.
To use Expand in production, go to the expand.land
website. You must install Metamask
to be able to properly use the product and post. More instructions are available on the website.
To use Expand for development, see below.
Installing expand-app
for development is most simple. We use npm
for package management, git
for collaborative mangement and nodejs
as our main programming language, all of which you must install to use expand-app
.
Below is the way to install all required files for expand-app
.
Development of Expand on macOS requires XCode
to properly run, build and install dependencies for development. Install and run XCode (and download the add'l components once it asks) from the App Store to properly build the server and client.
# you can use the links above, or you can run these shell commands
sudo apt-get install nodejs
sudo apt-get install npm
sudo apt-get install git
# clone
git clone https://github.com/expand-app.git
This will install all required project files on to your computer.
# install packages
cd client
npm install
cd server
npm install
This will install all required dependencies for the client and server to your computer as well.
# globally install eslint
sudo npm i -g babel-eslint eslint eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-standard eslint-plugin-vue
eslint
is a program we use to enforce order on our programs. If you are having trouble matching the linter's specifications, you can use eslint --fix <file>
when globally installed.
To run the client, just type these commands from the root project directory
cd client
npm start
When running the client alone, you will have no ability to search or get names. You will need to run the server for this.
To run the server, you must have access to our API keys/enviornment variables. Please ask someone with write access to this repository for those keys. You may still be denied access.
To start the server, type these commands from the root directory
cd server
npm start