- Download Node and NPM from https://www.npmjs.com/get-npm. Run
sudo npm install nodemon -g
to install nodemon globally for development. - Install MongoDB from https://docs.mongodb.com/manual/administration/install-community/ and start the
mongod
process (e.g.sudo systemctl start mongod
) - Copy
.env-template
into.env
and update with your server's IP address, username<user>
, and password<password>
, and any keys. Also do so forscripts/mongo.sh
. Authenticating with Google and Facebook requires domain names and setting up the proper auth keys. The map on the home page requires the<client_key>
inclient/src/components/pages/HomePage.js
to be substituted with a client key with the Google Maps Javascript API. - Enable authentication for MongoDB by running
mongo --port 27017
then running
use haven
db.createUser({user: '<user>', pwd: '<password>', roles: ['dbOwner']})
- Change AWS security group's inbound rules to allow Custom TCP from
0.0.0.0
on ports27017
(for MongoDB) and5555
(for the server). - Edit
/etc/mongod.conf
as follows and runsudo systmctl restart mongod
. Runbash scripts/mongo.sh
to make sure that you can enter the database.
net:
# bindIp: 127.0.0.1 remove this line
bindIp: 0.0.0.0
# uncomment this
security:
authorization: enabled
- Run
npm run dev
ornpm run prod
as desired
Getting the login to work with Google or Facebook requires the keys to be set up. Otherwise you can still sign up with the manual interface.
Go to the url <domain>/owner
to see the owner page. You may create a listing by filling out the form. resources/example_house
has some example images and videos that you can upload.
After loading a property, you can see the listed properties at the home page.
If you click a property, you'll be brought to a page to check out more details and scheduling a visit to an open house.
After clicking to schedule an open house, you'll see it in your calendar.