Skip to content

Latest commit

 

History

History
76 lines (58 loc) · 3.78 KB

README.md

File metadata and controls

76 lines (58 loc) · 3.78 KB

stackoverflow-LITE

Build Status Coverage Status Code Climate

A platform for users to ask questions and give answers to asked questions.

Implemented Features

  • Users can create an account and login.
  • Authenticated users can post questions.
  • Authenticated users can delete their questions.
  • Authenticated Users can post answers to questions.
  • Users can view answers to questions.
  • Users can mark an answer as the accepted answer to their question.
  • Authenticated users can view all the questions they have asked on the platform.

Extra Features

  • Authenticated users can upvote or downvote an answer.
  • Users can search for questions on the platform.
  • Authenticated users get a notification when an answer is given to their question.

Project Management

Project is managed here using the project management tool, Pivotal Tracker.

Templates

UI templates are yet to be hosted

Technologies Used

Testing tools

  • Mocha - A Javascript test framework.
  • Chai - Assertion library.
  • Istanbul - Javascript code instrumenter.
  • nyc - Istanbul's command line interface.
  • coveralls - lcov posting to coveralls.io

Getting Started

Installation

  • Install NodeJs and PostgreSQL on your computer.
  • Clone this repository using git clone https://github.com/ogwurujohnson/stackoverflow-LITE.git.
  • Set up your environment variables in a .env file. Follow the pattern in the config/config.js file.
  • You would find a sample.ennv file in your root folder, it contains samples of what you need to add to your .env file.
  • For development Create DB devstackoverflow and Production Create DB named stackoverflow and for test create DB travis
  • Run npm install to install all dependencies.
  • Run npm run migration to run DB migrations.
  • Run npm run dev to start the server.
  • Navigate to localhost:3000/api/v1 in your browser to access the application.

Testing the application

Requirements

  • Postman - API development and testing environment.

Testing with Postman

  • Install Postman by following the link above.
  • Navigate to localhost:3000 in Postman to access the application.
  • Use the API Documentation to access the endpoints available (link will be available soon).

Running unit tests.

  • In an open terminal, navigate to the cloned project file.
  • Before running test, please change NODE_ENV='test' , still looking for a fix for this
  • Then on your console run npm run migration
  • Run npm run test-travis. This runs tests and displays coverage data generated by Istanbul's nyc.

Author

Ogwuru Johnson