Skip to content

PriscillaSam/Stackoverflow-Lite

Repository files navigation

Stackoverflow-Lite

Build Status Coverage Status Maintainability Test Coverage

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.

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.
  • Authenticated users can view all the questions they have asked on the platform.

Project Management

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

Templates

UI templates are hosted on Github pages here

Technologies Used

Testing tools

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

Getting Started

Installation

  • Install NodeJs and PostgreSQL on your computer.
  • Clone this repository using git clone https://github.com/PriscillaSam/Stackoverflow-Lite.git.
  • Set up your environment variables in a .env file. Follow the pattern in the config/config.js file.
  • Create your development and test databases and add their credentials to the .env file.
  • Run npm install to install all dependencies.
  • Run db:migrate to setup yourdatabase.
  • Run db:seed to seed your database with data. Optionally run db:setup to both setup and seed your database.
  • Run npm run start: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.
  • Run npm test. This runs tests and displays coverage data generated by Istanbul's nyc.

Authors

  • Sam-Iduh Priscilla.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published