Get personalized, surprising and irreverent gift ideas for your family and friends.
- Product Owner: Eric Le
- Scrum Master: Jennie Kim Eldon
- Development Team: Ben Biran, Chris Saden
Type these commands to get started:
npm install
node dependenciesbower install
bower dependenciesbrew install mongodb
if you need to install mongoDB client- create
/data/db
folder at root directory if it doesn't exist already - run
mongod --dbpath ./data/db
process from the root directory in terminal npm start
to run the application in development mode
- React
- Redux
- Node/Express
- MongoDB/Mongoose
'/api/users/'
post '/save'
post '/friends'
'/api/friends'
post '/' get friend
post '/savegift' save a gift
post '/removegift' remove a gift
get '/wishlist/:friendId/:userId' get wishlist for a user's friend
post '/image' get image url from Facebook
post '/invitableFriends' get invitable friends from Facebook
post '/:friendId', get friend by Facebook ID
'/api/gifts'
post '/gettagsfromclarifai'
post '/gettagsfrommetamind'
post '/searchEtsy'
post '/searchbykeyword'
post '/itemlookup'
post '/searchsimilargifts'
post '/getevents'
post '/getartistimage'
Gyftee makes use of external APIs to retrieve data, which include...
Testing
- Mocha/Chai
- Should
Build System
- Webpack
Deployment
- CircleCI
- Heroku or Docker/AWS (TODO)
- Save time and reduce human error through task automation
- Enforce modular, scalable application design
- Make testing and maintenance easier
- Ensure that releases conform to performance best practices
- Test all deployed code prior to release
- Build Process
- Create tests and tasks to compile the application (automated)
- Aimed at facilitating continuous development (later can re-tune to focus on max performance)
- Design
- Code and augment application architecture
- Refactor code
- Update tests and iterate
- Deployment and Environment
- Automate the release process
- Configure different host environments, and define the services and databases they interact with
- Deliver changes to hosted environment
See _CONTRIBUTING.md for contribution guidelines.
.
├── Dockerfile (docker deployment)
├── Procfile (heroku deployment)
├── README.md
├── _CONTRIBUTING.md
├── bower.json
├── build
│ ├── bundle.js
│ ├── bundle.js.map
│ ├── css
│ │ ├── bootstrap.min.css
│ │ ├── slick.css
│ │ └── styles.css
│ ├── img
│ │ ├── amazon-prime.png
│ │ ├── bg-tile.jpg
│ │ ├── g-icon.png
│ │ ├── gyftee-icon.png
│ │ ├── icons
│ │ ├── profile.png
│ │ └── spinner.gif
│ ├── index.html
│ └── scripts
│ ├── iws6ohy.js
│ ├── jquery-2.1.1.min.js
│ ├── lock-7.min.js
│ ├── modernizr.js
│ └── sdk.js
├── circle.yml
├── data
│ ├── amazonData.txt
│ ├── amazonHardCodeData
│ │ └── data.txt
│ ├── db
│ │ ├── gifty.0
│ │ ├── gifty.ns
│ │ ├── journal
│ │ ├── local.0
│ │ ├── local.ns
│ │ ├── mongod.lock
│ │ └── storage.bson
│ ├── facebookHardCodedData
│ │ └── fbUserInfo.js
│ ├── hardCoded.js
│ └── metamind
│ └── test.py
├── docs
│ ├── amazonHardCodeData
│ │ ├── amazonDataWithImageandPrice.txt
│ │ └── data.txt
│ ├── api.md
│ └── databaseSchema.md
├── karma.conf.js
├── node_modules
├── package.json
├── server
│ ├── amazon.js
│ ├── config
│ │ ├── clarifai_node.js
│ │ ├── dbConfig.js
│ │ ├── facebook-api.js
│ │ └── middleware.js
│ ├── friends
│ │ ├── friendController.js
│ │ └── friendRoutes.js
│ ├── gifts
│ │ ├── giftController.js
│ │ ├── giftModel.js
│ │ └── giftRoutes.js
│ ├── server.js
│ └── users
│ ├── userController.js
│ ├── userModel.js
│ └── userRoutes.js
├── src
│ ├── app
│ │ ├── Actions
│ │ ├── Components
│ │ ├── Constants
│ │ ├── Containers
│ │ ├── Reducers
│ │ ├── Store
│ │ └── Utils
│ ├── client
│ │ ├── css
│ │ ├── html-templates
│ │ ├── img
│ │ └── scripts
│ ├── config
│ │ ├── auth0.js
│ │ ├── channel.html
│ │ ├── port.js
│ │ └── sdk.js
│ ├── index.html
│ ├── index.jsx
│ ├── lib
│ │ ├── bootstrap
│ │ ├── jquery
│ │ ├── marked
│ │ ├── slick-carousel
│ │ └── underscore
│ └── util
│ ├── sliderSettings.js
│ └── utility.js
├── test
│ └── spec
│ ├── friendModelSpec.js
│ ├── giftModelSpec.js
│ ├── serverSpec.js
│ ├── serverUtils.js
│ └── userModelSpec.js
├── webpack.config.js
└── webpack.production.config.js