Skip to content

Simple, proof-of-concept record trading app built around the last.fm REST API providing basic authentication, search and trade proposals. Built with Angular2-Meteor and deployed to Heroku.

License

Notifications You must be signed in to change notification settings

cjsheets/angular-trading-app

Repository files navigation

Manage a Record Trading Club

Overview

This app allows users to search for, list and trade records from their personal collection. The client is written with Angular v2.x and Typescript backed by Meteor.js v1.4 for real-time database synchronization.

A demo version of this app is deployed at: https://angular-trading.herokuapp.com/

Part of the FreeCodeCamp curriculum based on the following user stories:

  • I can view all books posted by every user.
  • I can add a new book.
  • I can update my settings to store my full name, city, and state.
  • I can propose a trade and wait for the other user to accept the trade.

Install

If you need to install Meteor, run the following:

curl https://install.meteor.com/ | sh

Clone this repository and install npm dependencies:

git clone git@github.com:cjsheets/angular-trading-app.git
cd angular-trading-app
npm install

Setup API Access

To access the Last.FM API, you'll need a key. Once registered, create package.json in the root of the repository:

{
  "public": {
    "last_fm": {
      "key" : "xxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "api_url": "http://localhost:3000/api/proxy?"
  }
}

Run

Build and run the app using the settings file.

meteor run --settings settings.json

Navigate to http://localhost:3000

Technology Stack

This package contains:

Front-End Back-End
Angular v2.x Meteor.js
Meteor.js MongoDB
MiniMongo Node.js
RxJS
HTML5/SCSS
Both
Typescript
Mocha/Chai

Deployed to Heroku using this buildpack

Folder Structure

The folder structure is a mix between Angular 2 recommendation and Meteor 1.3 recommendation.

Testing

  • Work in progress

The testing environment in this boilerplate based on Meteor recommendation, and uses Mocha as testing framework along with Chai for assertion.

There is a main test file that initialize Angular 2 tests library, it located under /client/init.test.ts.

All other test files are located near the component/service it tests, with the .test.ts extension.

To-Do

  • lint the code for each app (fix lint errors)
  • write Mocha/Chai tests
  • change notification icon for different trade states
  • add typecasting to all possible functions
  • revert console.log to _log, disable in prod
  • improve masonry loading output

License

MIT License

Analytics

About

Simple, proof-of-concept record trading app built around the last.fm REST API providing basic authentication, search and trade proposals. Built with Angular2-Meteor and deployed to Heroku.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published