/CloudStorage

A RESTful Firebase cloud storage API server implemented with express

Primary LanguageJavaScript

RESTful Cloud Storage API

RESTful cloud storage server built with express that uses Firebase Cloud Storage as cloud provider.

Table of Contents

Installation

Clone the repo:

git https://github.com/MuhamedMagdi/CloudStorage.git

Install the dependencies:

npm i

Set the environment variables:

cp .env.example .env

# open .env and modify the environment variables

Features

  • Authentication and Authorization
  • File CRUD
  • API documentation: swagger documentation
  • Dockerized

Commands

Running locally:

npm run dev

Running in production:

npm start

Docker:

# building the server image
sudo docker build -t server:v1 .

# run docker container
sudo docker-compose up

Linting:

# run ESLint
npm run lint:check

# fix ESLint errors
npm run lint:fix

# run prettier
npm run format:check

# fix prettier errros
npm run format:write

Project Structure

src/
├── config        # ENV and global configurations
├── controllers   # Route controllers
├── database      # Database connection
├── models        # Mongoose models
├── routes        # API routes
└── utils         # General purpose utility function and classes

API Documentation

Go to /api/v1/api-docs view the list of available APIs endpoints and their specifications.-