An open API service indexing awesome lists of open source software.

https://github.com/uosyph/alx-files_manager

ALX Files Manager Repository - A robust File Management API developed during the ALX Software Engineering Program. It includes features like file uploading, downloading, authentication, and metadata storage, utilizing Node.js, Redis, and MongoDB for efficient and scalable file operations.
https://github.com/uosyph/alx-files_manager

alx alx-africa alx-specialization file-manager files-management javascript mongodb nodejs nosql redis

Last synced: 2 months ago
JSON representation

ALX Files Manager Repository - A robust File Management API developed during the ALX Software Engineering Program. It includes features like file uploading, downloading, authentication, and metadata storage, utilizing Node.js, Redis, and MongoDB for efficient and scalable file operations.

Awesome Lists containing this project

README

          



ALX

# ALX Files Manager - File Management API

This repository contains a File Management API developed during the ALX Software Engineering Program.
It includes features like file uploading, downloading, and management using Node.js, Redis, and MongoDB.

## Table of Contents

- [Overview](#overview)
- [Features](#features)
- [Installation](#installation)
- [Author](#author)

## Overview

The ALX Files Manager project focuses on building a scalable and efficient file management API.
Utilizing technologies like Node.js for the server, Redis for caching, and MongoDB for data storage, this project provides a robust solution for handling file operations in a web application context.

## Features

- File uploading and downloading.
- Authentication and user management.
- File metadata storage.
- Caching with Redis.
- NoSQL database integration with MongoDB.

## Installation

To get started with the project, follow these steps:

1. Clone the repository:

```sh
git clone https://github.com/uosyph/alx-files_manager.git
cd alx-files_manager
```

2. Install the dependencies:

```sh
npm install
```

3. Set up your environment variables. Create a `.env` file and add the necessary configurations:

```sh
touch .env
```

4. Start the server:

```sh
npm start
```

## Author

**Yousef Saeed**:
[GitHub](https://github.com/uosyph)
[LinkedIn](https://linkedin.com/in/uosyph)
[X](https://twitter.com/uosyph)