- Recent version of Node.js -- https://nodejs.org/en/
- PostgreSQL -- for Mac at http://postgresapp.com/
- MongoDB -- install with homebrew on Mac https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/
- Check out repo
- From the project directory, run
npm install
- Create a config file and directory -- make a new directory called "config" at the top level of the project and create a file inside it called "config.js" (see example below for its contents). Fill in your postgres username and password
- Launch the app:
node app.js
-- this will create the Postgres tables - In the script
passwordgen.js
, fill in your password, save it, then on the command line, from the project directory, runnode passwordgen.js
-- the output is the encrypted password that will go in the database for your first user - Create your first user in the database
- Open Postgres.app follow set-up instructions. Then from the elephant icon on the menu bar, select "Open psql"
- In the terminal window that opens, type
\c communitycred
to connect to the database (assuming your db is calledcommunitycred
) - Run the following SQL:
INSERT INTO users (username,firstname,password,created_at,updated_at,is_active,is_admin) VALUES ('you', 'You', 'the encrypted password from step 5', now(), now(), true, true );
, replacing the values with your username, first name, and password
- Go to
http://localhost:3333
and sign in with your username and password (not the encrypted one, but the one you used to get the encrypted version)
module.exports = {
development: {
pg: 'postgres://user:pw@localhost:5432/communitycred',
session: 'somephrasehere',
salt: 'somerandomlettersandnumbers',
mongo: 'mongodb://localhost/mydb',
mongoSession: 'mongodb://localhost/sessiondb',
sendgrid: 'sendgridAPIkey',
inviteSalt: 'morerandomcharacters',
sendgridListId: 'sendgridListIdHere'
}
};
All of the compiled and minified css and js files are in the repo, so to get started, you won't need to do anything to get them to work. When you make changes, though, you'll need to run the following:
- Changes to sass:
grunt css
- Changes to js:
grunt uglify
- Changes to riot.js
.tag
files:riot public/js/tags/something.tag
(will produce the filesomething.js
)