Hooyu is a way to connect a hyperlocal community (like your company) by matching faces to names / departments.
Built using Ruby on Rails and React, the standard RoR project guidelines are followed (using foreman for process management). Postgres and Neo4j are used for data-stores, with the main game logic stored in Neo4j.
Data is managed through Neo4j: neo4j.com/
-
Clone repo from github.com/sb8244/Hooyu.git.
-
Run ‘bundle` from directory repo is cloned to.
-
Create an .env file from the .env_template.
-
Generate a hash secret by running rake secret and enter the value into the HASH_SECRET variable in your .env file.
-
Install and run neo4j:
a. bundle exec rake neo4j:install[community-2.2.2,development]. b. bundle exec rake neo4j:install[community-2.2.2,test]. c. bundle exec rake neo4j:config[test,7475]. d. bundle exec rake neo4j:start[development]. e. bundle exec rake neo4j:start[test].
-
Once neo4j is running, configure your local username and password:
a. Go to localhost:7474 (the default port for neo4j). b. Follow the prompts to set your username and password (neo4j/neo4j if you don’t care). c. In your Hooyu .env file, set the the NEO4J_USER and NEO4J_PASSWORD to the username and password you just created. d. Repeat steps a & b for the test instance running on localhost:7475. Make sure to set the username and password to the same values as the dev instance.
-
Generate your GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET. Make sure you set your callback url.
-
Initialize your database:
a. bundle exec rake db:create. b. bundle exec rake db:migrate. c. bundle exec rake db:test:prepare.
-
Confirm all specs pass by running bundle exec rspec.
-
Create an organization through the rails console:
a. Organization.create(name: "SalesLoft", domain: "salesloft.com", available_departments: [ "Marketing", "Support", "Engineering", "Finance", "Sales", "Leadership", "Account Management", "Implementation", "Sales Development", "Administration", "Product"]).
-
Prepare for local front end development:
a. run npm install. b. Keep gulp watch running as you change front end code in order for it to recompile as you code.
-
Run your server with foreman s.
-
To generate a list of random people, run the following command in your rails console: 100.times { FactoryGirl.create(:person) }
-
To test the admin features of the app:
a. Update your user’s admin flag to true: User.first.update(admin: true). b. Use the people management page at localhost:3000/admin/people.