Skip to content

Crowd-sourcing backend app for fact-checking with gamification

Notifications You must be signed in to change notification settings

aic-factcheck/fact_check_api

Repository files navigation

Nest Logo

Fact checking API

users_service CI

Features

  • Nest.js framework with TypeScript(Nest)
  • Uses Typescript strict null checks
  • ES2017 latest features like Async/Await
  • CORS enabled
  • Uses npm
  • Express + MongoDB (Mongoose)
  • Consistent coding styles with Prettier
  • Docker support
  • Uses helmet to set some HTTP headers for security
  • Load environment variables from .env files with dotenv
  • Request validation with class-validator
  • Linting with eslint
  • Tests with Jest
  • Code coverage with istanbul
  • Git hooks with husky
  • Logging with Pino & pino-http
  • Authentication and Authorization with passport
  • Automatic OpenAPI documentation generation with Swagger
  • Continuous integration & CD support with Github Actions
  • Monitoring with ElasticSearch and Kibana

Requirements

Getting Started

Install dependencies:

$ npm install

Set environment variables:

$ cp .env.example .env

Docker

Comfortable development with docker support:

# run containers locally
$ npm run docker:dev

# run container in production
npm run docker:prod

# run tests
npm run docker:test

Running Locally

# development - Watch mode
$ npm run start

# Debug mode
$ npm run start:debug

Running in Production

$ npm run start:prod

Lint

# lint code with ESLint
$ npm run lint

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

About

Crowd-sourcing backend app for fact-checking with gamification

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published