0x04. Files manager

Description

The alx-files_manager project is a comprehensive file management system developed for ALX School. It provides functionality to manage files, including uploading, downloading, and deleting files. This project is a summary of the back-end trimester: authentication, NodeJS, MongoDB, Redis, pagination and background processing.

Objectives

The objective of this project is to build a simple platform to upload and view files with the following features:

  • User authentication via a token
  • List all files
  • Upload a new file
  • Change permission of a file
  • View a file
  • Generate thumbnails for images

Learning Outcomes

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

Installation

To install and run the alx-files_manager project, follow these steps:

  1. Clone the repository: git clone https://github.com/addymwenda12/alx-files_manager.git
  2. Navigate to the project directory: cd alx-files_manager
  3. Install dependencies: npm install
  4. Start the application: npm start