alx-files_manager

  • This project is a summary of this back-end trimester: authentication, NodeJS, MongoDB, Redis, pagination and background processing.

  • The objective is to build a simple platform to upload and view files:

  • User authentication via a token

  • List all files

  • Upload a new file

  • Change permission of a file

  • View a file

  • Generate thumbnails for images

Resources

Learning Objectives

  • At the end of this project, you are expected to be able to explain to anyone, without the help of Google:

    • how to create an API with Express
    • how to authenticate a user
    • how to store data in MongoDB
    • how to store temporary data in Redis
    • how to setup and use a background worker

Requirements

  • Allowed editors: vi, vim, emacs, Visual Studio Code
  • All your files will be interpreted/compiled on Ubuntu 18.04 LTS using node (version 12.x.x)
  • All your files should end with a new line
  • A README.md file, at the root of the folder of the project, is mandatory
  • Your code should use the js extension
  • Your code will be verified against lint using ESLint

Installation

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

Usage

  • Start the Redis and MongoDB services on your system and run npm run start-server

AUTHOR

  • SUFIAN HAMZA