All Projects → skolakoda → Programming Quotes Api

skolakoda / Programming Quotes Api

Programming Quotes API for open source projects.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Programming Quotes Api

Gofluent
(Not Maintained) Something acting like fluentd rewritten in Go.
Stars: ✭ 174 (-5.43%)
Mutual labels:  mongodb
Express Es6 Starter
Starter project for creating a MVC express server with MongoDB
Stars: ✭ 178 (-3.26%)
Mutual labels:  mongodb
Spring Data Examples
Examples for using Spring Data for JPA, MongoDB, Neo4j, Redis
Stars: ✭ 181 (-1.63%)
Mutual labels:  mongodb
Smtpd
A Lightweight High Performance ESMTP email server
Stars: ✭ 175 (-4.89%)
Mutual labels:  mongodb
Bigdata Playground
A complete example of a big data application using : Kubernetes (kops/aws), Apache Spark SQL/Streaming/MLib, Apache Flink, Scala, Python, Apache Kafka, Apache Hbase, Apache Parquet, Apache Avro, Apache Storm, Twitter Api, MongoDB, NodeJS, Angular, GraphQL
Stars: ✭ 177 (-3.8%)
Mutual labels:  mongodb
Node Redux Auth
Token authentication system using Node, Mongo, React, Redux
Stars: ✭ 179 (-2.72%)
Mutual labels:  mongodb
Attendance Using Face
Face-recognition using Siamese network
Stars: ✭ 174 (-5.43%)
Mutual labels:  mongodb
Mage2vuestorefront
Magento to Vue-storefront datapump - synchronizes Products, Categories and Product-to-category links between your Magento2 API and NoSQL database of vue-storefront
Stars: ✭ 183 (-0.54%)
Mutual labels:  mongodb
Mevn Stack
A Quickstart for building an Express API with a VueJS Admin Portal
Stars: ✭ 178 (-3.26%)
Mutual labels:  mongodb
Node.js
一步一步学习Node.js,带你从零开始学习Node.js!本仓库是自己总结的Node.js学习图文教程,里面有学习案列和源代码(pubdreamcc原创,欢迎转载,欢迎star)
Stars: ✭ 181 (-1.63%)
Mutual labels:  mongodb
Intro To Graphql
[Course] Introduction to GraphQL
Stars: ✭ 175 (-4.89%)
Mutual labels:  mongodb
Feathers Apollo
Feathers and Apollo Server Sample Project
Stars: ✭ 176 (-4.35%)
Mutual labels:  mongodb
Mongoose Sequence
Sequence and autoincrement handling for mongoose
Stars: ✭ 178 (-3.26%)
Mutual labels:  mongodb
Mern
🌐 MERN stack 2.0 - MongoDB, Express, React/Redux, Node
Stars: ✭ 175 (-4.89%)
Mutual labels:  mongodb
Gqlify
[NOT MAINTAINED]An API integration framework using GraphQL
Stars: ✭ 182 (-1.09%)
Mutual labels:  mongodb
Wither
An ODM for MongoDB built on the official MongoDB Rust driver.
Stars: ✭ 174 (-5.43%)
Mutual labels:  mongodb
Mongodm
A golang object document mapper (ODM) for MongoDB
Stars: ✭ 178 (-3.26%)
Mutual labels:  mongodb
Mcw Cloud Native Applications
MCW Cloud-native applications
Stars: ✭ 184 (+0%)
Mutual labels:  mongodb
Phpfastcache
A high-performance backend cache system. It is intended for use in speeding up dynamic web applications by alleviating database load. Well implemented, it can drops the database load to almost nothing, yielding faster page load times for users, better resource utilization. It is simple yet powerful.
Stars: ✭ 2,171 (+1079.89%)
Mutual labels:  mongodb
Aspnetcore.identity.mongo
This is a MongoDB provider for the ASP.NET Core 2 Identity framework
Stars: ✭ 179 (-2.72%)
Mutual labels:  mongodb

Programming Quotes API

Programming Quotes API for open source projects.

Homepage: programming-quotes-api.herokuapp.com

Github repo: github.com/skolakoda/programming-quotes-api

API Documentation

Suported languages: en, sr.

Public routes

GET /quotes (get all quotes)

GET /quotes/lang/en (get quotes by language)

GET /quotes/page/2 (get quotes by page)

GET /quotes/random (get random quote)

GET /quotes/random/lang/sr (get random quote by language)

GET /quotes/id/5a6ce86f2af929789500e824 (get quote by id)

Protected routes

POST /quotes/vote (post vote)

  • required params: quoteId, newVote (number from 1 to 5)

POST /quotes (for registered user)

  • required params: token, author, en
  • optional: source, sr
  • author name should be from Wikipedia

PUT /quotes (update quote for admin)

  • required params: token, _id, author, en
  • optional: source, sr

DELETE: /quotes (for admin)

  • required params: token, _id

Authentication

GET /auth/{provider} (user login)

  • suported providers: Github, Google
  • opens login page

After successful login, user will be redirected to client app. The client app should handle token on this route: #/auth/{provider}/${token}.

GET /auth/{provider}:token (get user data)

  • returns info on current user

Development

Prerequisites

Env variables

Create .env file proper values:

# Database credentials (obtain from MongoDB)
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_DOMAIN=

# obtain from Github (have two separate OAuth apps, for local and for production)
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# OAuth 2.0 client IDs (obtain from Google API Console)
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# whatever random string you like
JWTSECRET=

# use development for local testing
NODE_ENV=development 

Start

npm i
npm run dev

See server logs:

heroku logs --app programming-quotes-api

Deploy

Deploy will be done automatically after merge into master branch.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].