GithubHelp home page GithubHelp logo

alx-files_manager's Introduction

Files Manager

A simple file management API built with Express, MongoDB, Redis, Bull, and Node.js.

Requirements

Applications

  • Node.js
  • Yarn (the package manager/resource negotiator)

APIs

  • A Google API should be created with at least an email sending scope and a valid URL (e.g.; http://localhost:5000/) should be one of the redirect URIs. The credentials.json file should be stored in the root directory of this project.

Environment Variables

The required environment variables should be stored in a file named .env and each line should have the format Name=Value. The table below lists the environment variables that will be used by this server:

Name Required Description
GOOGLE_MAIL_SENDER Yes The email address of the account responsible for sending emails to users.
PORT No (Default: 5000) The port the server should listen at.
DB_HOST No (Default: localhost) The database host.
DB_PORT No (Default: 27017) The database port.
DB_DATABASE No (Default: files_manager) The database name.
FOLDER_PATH No (Default: /tmp/files_manager (Linux, Mac OS X) & %TEMP%/files_manager (Windows)) The local folder where files are saved.

Installation

  • Clone this repository and switch to the cloned repository's directory.
  • Install the packages using yarn install or npm install.

Usage

Start the Redis and MongoDB services on your system and run yarn start-server or npm run start-server.

Tests

  • Create a separate .env file for the tests named .env.test and store the value of the environment variables for the testing event in it.
  • Run yarn test or npm run test to execute the E2E tests.

Documentation

  • TODO: Generate OpenAPI documentation with apidoc.

alx-files_manager's People

Contributors

nadduli avatar

Watchers

 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.