Skip to content

Princexz/alx-files_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Author ✒️

Acknowledgements 🙏

All work contained in this project was completed as part of the curriculum for ALX Africa SE. ALX Africa is an online full-stack software engineering program that prepares students for careers in the tech industry using project-based peer learning. For more information, visit this link.

ALX Africa Logo

About

Files Manager Group Project for Backend studies at ALX

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published