Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cjsheets/angular-trading-app
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.
https://github.com/cjsheets/angular-trading-app
Last synced: 13 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/cjsheets/angular-trading-app
- Owner: cjsheets
- License: mit
- Created: 2017-01-23T22:44:55.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-02-04T22:38:43.000Z (almost 8 years ago)
- Last Synced: 2024-10-20T07:44:13.347Z (about 1 month ago)
- Language: CSS
- Homepage: https://angular-trading.herokuapp.com/
- Size: 1.25 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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/](https://angular-trading.herokuapp.com/)
![](public/img/app-screenshot.png?raw=true)
Part of the [FreeCodeCamp](https://www.freecodecamp.com/cjsheets) 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](https://www.meteor.com/), run the following:
```
curl https://install.meteor.com/ | sh
```Clone this repository and install npm dependencies:
```
git clone [email protected]: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](http://www.last.fm/api). 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](https://www.heroku.com/) using [this buildpack](https://github.com/AdmitHub/meteor-buildpack-horse)
### Folder Structure
The folder structure is a mix between [Angular 2 recommendation](https://johnpapa.net/angular-2-styles/) and [Meteor 1.3 recommendation](https://guide.meteor.com/structure.html).
### Testing
* *Work in progress*
The testing environment in this boilerplate based on [Meteor recommendation](https://guide.meteor.com/testing.html), 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](https://cjs-beacon.appspot.com/UA-10006093-3/github/cjsheets/angular-trading-app?pixel)](https://github.com/cjsheets/angular-trading-app)