GithubHelp home page GithubHelp logo

anishpawaskar / website-backend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from real-dev-squad/website-backend

0.0 0.0 0.0 4.92 MB

The backend code for all our website-related apps

Home Page: https://api.realdevsquad.com/

License: MIT License

Shell 0.13% JavaScript 89.80% TypeScript 10.07%

website-backend's Introduction

GitHub Workflow Status GitHub issues JavaScript Style Guide

Real Dev Squad API

Table of Contents

About the Project

This Project serves the backend APIs required for Real Dev Squad web projects. This project is built in Express.js.

Prerequisites

  • The application uses node-config(documentation) for managing config.
  • Create a new file: config/local.js. Override the required config values from config/development.js and config/default.js into config/local.js.
  • Register the application for GitHub OAuth to get the clientId and clientSecret. Add the callback URL as http://<HOSTNAME>:<PORT>/auth/github/callback
  • Create an application on FireStore and generate a service file. Add the service file credentials in the local config (or your env variables) as a string. Make sure you convert all the escape sequence (newline) - \n with \\n in private_key field.
  • For running the project locally, Firebase Local Emulator Suite can also be used instead of using the remote DB. Steps for setting it up: CONTRIBUTING.md - Using Firebase Emulator Locally

Starting Local Development

Please install yarn and volta

Why Volta?

To install Volta, please follow the process

Local Development Setup

Install all the packages using the following command:

yarn

Now if one runs yarn install. The yarn.lock will be unexpectedly updated with an unknown future version of a dependency, potentially breaking the build in the future. To ensure that the yarn.lock file is not update, you will need to use the --frozen-lockfile flag.

yarn install --frozen-lockfile

Confirm correct configuration setup

This command should be successful, before moving to development.

yarn validate-setup

TDD Local Development

Head over to TDD Tests Files List, and add the list of your new (or old) test files.

You can use wildcard '*' in the filepaths

Run TDD in watch mode. Exiting this command will print the coverage report. Try to achieve 100% coverage.

yarn tdd:watch

Running a server in Dev mode

yarn dev

What happens in production:

  • Install packages
yarn
  • Run tests
yarn run test
  • Prune dev dependencies
npm prune --production
  • Run start command (with port information)
yarn start

Note: These are handled automatically behind the scene when pushing to Heroku

Check out our video on how to setup the backend here: Wiki link

Read more about contributing to the project: CONTRIBUTING

website-backend's People

Contributors

heyrandhir avatar ankushdharkar avatar ankurnarkhede avatar swarajpure avatar prakashchoudhary07 avatar ritikjaiswal75 avatar vinit717 avatar vinayak-trivedi avatar shubhamsinghbundela avatar ajeyakrishna-k avatar ivinayakg avatar prerana1821 avatar sumitd94 avatar dashdeipayan avatar harshith-venkatesh avatar lakshayman avatar khalatevarun avatar iamitprakash avatar sahsisunny avatar bharati-21 avatar manish591 avatar bajajcodes avatar whydonti avatar bhk31 avatar isvivek99 avatar renovate[bot] avatar rucha1499 avatar entropyreverser avatar rohan09-raj avatar akshay1502 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.