ReadingBuddies
ReadingBuddies copied to clipboard
SPA and REST API demo that aggregates the book reviews of multiple Goodreads users
Reading Buddies (TypeScript Version)
Angular/Node.js/Gulp/Redis Example Demonstration
A simple SPA and REST API demo that aggregates the book reviews of multiple Goodreads users.
The project is comprised of an Angular SPA, Express REST API, and Gulp build process.
+-------------+
| Browser |
| Angular SPA |
+------+------+
|
+-------+--------+ +-------------+
| Express Server +---+ Redis Cache |
+----------------+ +-------------+
|
+-------+--------+
| Goodreads API |
+----------------+
Screenshots
Quick Start
Install and run the dependencies:
- Install Node.js
- Install and run Redis, or use the Redis Docker image:
docker-compose up -d redis
- Install other CLI tools:
npm install -g bower gulp tsc tsd
Configure the application:
- Request a Goodreads API Developer Key
- Copy
.env.example
to.env
- Modify
.env
with correct configuration values
Build and run the application:
- Run
npm install && bower install && tsd install
to install the app dependencies - Run
npm run build
to build the app JS/CSS bundles and static files folder (./build/
) - Run
npm start
to start the http server - Open browser: http://localhost:8000
To build a Docker image of the app:
- Build the app:
npm run build
- Build the image:
docker-compose build web
- Run the container:
docker-compose up -d web
Contributing
- Fork and clone it
- Install dependencies:
npm install && bower install && tsd install
- Create a feature branch:
git checkout -b new-feature
- Commit changes:
git commit -am 'Added a feature'
- Run static code analysis and unit tests:
npm test
- Push to the remote branch:
git push origin new-feature
- Create a new Pull Request
Build/refresh upon file changes:
- Run
npm run dev
for development mode - Open browser: http://localhost:3000
License
MIT License Copyright © 2014 Christopher Martin