NodeJs backend for the News app

About

Welcome to the News App Backend project! This repository serves as the backend component for the News App, a Flutter application designed to deliver the latest news to users. The backend is built to provide data and functionality to support the app's features.

Backend is built using NestJS, a NodeJS framework. It is a REST API that provides endpoints for the app to consume. For data storage, the backend uses MySQL and interacts with it using TypeORM.

This project is made as a sample project and implements some of the common features found in a typical backend application. Eg.

  • CRUD operations
  • Authentication and Authorization (using JWT, basic auth)
  • Sending emails
  • File uploads and downloads
  • Exporting data to Excel file
  • Firebase Cloud Messaging (FCM) push notifications (via firebase-admin)
  • Dockerization
  • Cron jobs
  • Sentry error logging
  • Serving static files
  • Migration scripts
  • Exception filters
  • Logging to file and managing log files

Getting Started

Prerequisites

Installation

  1. Clone the repo

    git clone git@github.com:Belligerator/news-backend.git
  2. Install NPM packages

    npm install
  3. Create a .env file in the root directory and fill in the required environment variables. You can refer to the .env.example file for the required variables.

  4. Run the app

    npm run start

    The app should be running on http://localhost:3000/

Usage

Endpoints

Documentation for the endpoints can be found at http://localhost:3000/api/swagger.

results matching ""

    No results matching ""