Skip to content

πŸš€πŸš€ A platform for users to ask questions and give answers to asked questions.

License

Notifications You must be signed in to change notification settings

ogwurujohnson/stackoverflow-LITE

Repository files navigation

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

About

πŸš€πŸš€ A platform for users to ask questions and give answers to asked questions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published