Simple fitness questions and answer app similare to stackoverflow but for health and fitness. The motivation behind this project is to help peoplel find answers to simple questions that otherwise you would have to pay unccessry money just to hear it form a Doctor.
- Clone or Fork repo
cd
into repo and install dependenciesnpm i
- start mongo if you have it installed, change the mogno uri to your mongo runing server and start the app with
npm start
- First install docker for your system install Docker
- Second install
docker-compose
- Run
npm install
anddocker-compose up
and the app should be runing on localhost - Start hacking!
Note: To access mongoDB shell, type
docker exec -it mongoDB /bin/bash
. This will put you inside the docker container and then typemongo
to run the mongo shell.
- Create simple server
- Make simple GET routes and views
- Connect BootStrap
- Connect DB
- Designe DB
-
- Create users
-
- Create questions
-
- Edit questions
-
- Delete questions
-
- Create answers(route is not done)
-
- Edit questions
-
- Delete answers
- Add AUTH
-
- Render a register form
-
- Encrypt Password
-
- Create a user
-
- Set session & Redirect to Home page
-
- Render a login form
-
- Validate Date coming from login form
-
- Pull user from DB and compare password and set session
- Implement user deletion feature
- check for input (Cross Site Scpripting)
- Create view Templates
- Make simple POST routes and forms
- Create helper methods to handle voting / a method to handle timeupdating when user edit question
- implement methodOverride
- Implement Search feature
- Loged out users can see questions
Route | Method |
---|---|
questions | GET |
questions/new | GET |
questions | POST |
questions/:qID | GET |
questions/:qID | DELETE |
questions/:qID | PUT |
questions/:qID/vote-up | POST |
Route | Method |
---|---|
questions/:qID/answers | GET |
questions/:qID/answers | POST |
questions/:qID/answers | DELETE |
questions/:qID/answers | PUT |
questions/:qID/answers/:aID/vote-up(ANSWERS) | POST |
Note: node-gyp only works with stable/released versions of node. Since the bcrypt module uses node-gyp to build and install you'll need a stable version of node to use bcrypt. If you do not you'll likely see an error that starts with: