Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ajimae/stackoverflowlite


https://github.com/ajimae/stackoverflowlite

Last synced: 19 days ago
JSON representation

Awesome Lists containing this project

README

        

# stackoverflowlite

[![Build Status](https://travis-ci.org/ajimae/stackoverflowlite.svg?branch=development)](https://travis-ci.org/ajimae/stackoverflowlite) [![Code Climate](https://codeclimate.com/github/codeclimate/codeclimate/badges/gpa.svg)](https://codeclimate.com/github/ajimae/stackoverflowlite) [![Test Coverage](https://api.codeclimate.com/v1/badges/e55c8db62854e13a8a96/test_coverage)](https://codeclimate.com/github/ajimae/stackoverflowlite/test_coverage) [![Coverage Status](https://coveralls.io/repos/github/ajimae/stackoverflowlite/badge.svg?branch=development)](https://coveralls.io/github/ajimae/stackoverflowlite?branch=development)


This is an application that lets Users

- Sign up an account
- Login to the account
- View available questions in the database
- Post their own desired questions
- View a single question at will
- Delete questions with the associated answers
- Mark an answer as preffered
- Accept an answer as preffered

## Table of Contents

* [Technologies](#technologies)
* [Features](#features)
* [API Endpoints](#api-endpoints)
* [Getting Started](#getting-started)
* [Installation](#installation)
* [Testing](#testing)
* [Development](#development)

### Pivotal Tracker
Project is currently being built with the Project Management Tool, Pivotal Tracker.
You can find the template at [https://www.pivotaltracker.com/n/projects/2188722](https://www.pivotaltracker.com/n/projects/2188722)

### API Deployment
API is deployed at [https://ajimae.herokuapp.com](https://ajimae.herokuapp.com)

## Technologies

* [NodeJS](https://nodejs.org/) - Runtime Environment
* [ExpressJs](https://expressjs.com/) - Web Application Framework
* [npm](https://www.npm.com/) - Dependency Manager

### Supporting Packages

#### Linter(s)

* [ESLint](https://eslint.org/) - Linter Tool

#### Compiler

* [Babel](https://babel.io/) - Compiler for ES6 Javascript

## Test Tools
* Mocha - JavaScript Test Framework for API Tests
* Chai - TDD/BDD Assertion Library for Node

## Features

### Users
* View landing page/home route
* Create account
* Login
* Create questions
* View questions
* View a single question
* Delete questions
* Update questions
* Mark a question as accepted or rejected.
* Upvote or downvote an answer

## Getting Started

### Installation

* git clone [Stackoverflowlite](https://github.com/ajimae/stackoverflowlite.git)
* Run npm install to install packages
* Setup a postgreSQL database and configure the database files accordingly
* Run npm start to migrate all database tables and start the server
* Navigate to [localhost:3000](http://localhost:3000/) in a browser to access the
application

### Testing

#### Prerequisites

* [Postman](https://getpostman.com/) - API Toolchain

#### Testing with Postman

* After installing as shown above
* Navigate to [localhost:3000](http://localhost:3000/) in
[Postman](https://getpostman.com/) to access the application

#### Testing with Coverage Data

* After installation
* Run npm test
* It will lint code, run test and display coverage data as generated by
[nyc](https://github.com/nyc)

### Development
[Babe-Node](https://babeljs.io) helps to compile es6 codes to es5 before running the server.