Giter Site home page Giter Site logo

atelier's Introduction

Atelier

A RESTful API built to serve product data for an e-commerce shopping site.

Description

Atelier is able to serve 10,000 clients over 1 min for a high traffic e-commerce website once deployed. Atelier has been deployed with an NGINX load balancer with caching and 4 separate EC2 instances running an Express server. Each instance is able to fetch from its respective PostgreSQL database. The database has been indexed via btree for reduced latency (lowered from 200ms to 4ms).

Getting Started

Tech Used

Back End: PostgreSQL with pgPromise, Express.js

Stress testing: New Relic, K6, Loader.io

Deployment: AWS (EC2 instances), NGINX with caching

Installing

npm install

Executing program

npm start

Results

Alt text LoaderIO at 10,000 clients over 1 min

Routes

  • GET /products (query parameters: page, count)

Get a list of products. Default page is 1 and default count is 5.

  • GET /products/:product_id

Get a specific product's data via its product_id

  • GET /products/:product_id/styles

Get a specific product's style data, including stocked quantity and colors via its product_id

  • GET /products/:product_id/related

Get a list of product_ids of products that are similar or related to the requested product

Authors

Contributors names and contact info

Brian Lee @brianclee-gh

Version History

  • 0.1
    • Initial Release

License

This project is licensed under the [TBD] License - see the LICENSE.md file for details

Acknowledgments

Isaiah Love

Sophie Partovi

atelier's People

Contributors

brianclee-gh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.