Coder Social home page Coder Social logo

mlaraki / freecodecampnews-graphql-api Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 101 KB

News scrapped from FCC made available through an open GraphQL api

Home Page: http://ec2-34-239-254-11.compute-1.amazonaws.com:9000/graphql

Shell 1.69% JavaScript 98.31%
fastify graphql redis-cache firestore github-actions mocha chai supertest

freecodecampnews-graphql-api's Introduction

Continuous Integration

FreeCodeCamp news graphql api :

Playground : http://ec2-34-239-254-11.compute-1.amazonaws.com:9000/graphql

Description

  • Articles from FreeCodeCampNews are scrapped every 6 hours and added to a db hosted on firestore.
  • It's a free and open API hosted on a EC2 AWS server.

API

  • Fastify
  • GraphQL
  • Apollo-Server
  • Redis-Cache

Unit tests

  • Mocha
  • Chai
  • Supertest

Continuous Integration

  • Github Action
name: Continuous Integration

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Redis setup
      uses: shogo82148/actions-setup-redis@v1
      with:
        redis-version: '6.x'
    - name: Use Node.js 12.x
      uses: actions/setup-node@v1
      with:
        node-version: '12.x'
    - name: Redis ping check
      run: redis-cli ping
    - name: Decrypt service account
      run: sh ./.github/workflows/decrypt_serviceAccount.sh
      env:
        DECRYPT_KEY: ${{ secrets.DECRYPT_KEY }}
    - run: npm install
    - run: npm run ci
      env:
        PORT: 9000
        REDIS_PORT: 6379
        REDIS_HOST: "0.0.0.0"
        TEST_URL: "0.0.0.0:9000/graphql"
        DATABASE_URL: ${{ secrets.DATABASE_URL }}
        DATABASE_COLLECTION: ${{ secrets.DATABASE_COLLECTION }}

freecodecampnews-graphql-api's People

Contributors

mlaraki avatar

Watchers

James Cloos avatar  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.