Skip to content

innotranz/files

Repository files navigation

Logo

Open Template Hub - File Storage Server Template v5

License Issues PRCLosed LastCommit Release SonarCloud

File Storage Server Template is a generic open-source file storage server that has a simple yet powerful design to connect your business with third-party file storage provider companies (AWS S3, Google Cloud Storage).

Ways to Begin

npm install --save-dev @types/node

1. Express Deploy

Deploy this template to Heroku

Deploy

2. Start with Server Generator

Create your server with Server Generator Package

NPM

3. GitHub Template

Use this repository as a Template

GitHubTemplate

Installations

Install nodejs and npm via nodejs.org.

Check installed versions of nodejs and npm via running following commands:

node -v
npm -v

Check project's current nodejs and npm version from package.json.

Environment Variables

If you don't give RESPONSE_ENCRYPTION_SECRET, response encryption mechanism will be disabled automatically.

PORT=4004

PROJECT=OTH
MODULE=FileStorageServer
ENVIRONMENT=Local

MONGODB_URI={Database Connection Url}
MONGODB_CONNECTION_LIMIT={MongoDB Connection Limit}

DATABASE_URL={Database Connection Url}
POSTGRESQL_CONNECTION_LIMIT={Postgresql Connection Limit}

CLOUDAMQP_APIKEY={MQ Api Key}
CLOUDAMQP_URL={MQ Connection Url}

FILE_SERVER_QUEUE_CHANNEL=oth_file_queue
ORCHESTRATION_SERVER_QUEUE_CHANNEL=oth_orchestration_queue

REDISCLOUD_URL={Redis Connection Url}
REDIS_CONNECTION_LIMIT={Redis Connection Limit}

ACCESS_TOKEN_SECRET={Access Token Secret}
RESPONSE_ENCRYPTION_SECRET={Response Encryption Secret}

For pre-deployment of S3 provider, update assets/sql/preload.data.json with your configuration:

{
  "key": "S3",
  "description": "Amazon S3 Provider",
  "payload": {
    "service": "S3",
    "accessKeyId": "{AWS Access Key Id}",
    "secretAccessKey": "{AWS Secret Key Id}",
    "region": "{S3 Region}",
    "apiVersion": "{API Version}",
    "bucketName": "{S3 Bucket Name}",
    "publicUrl": "{S3 Public Url}"
  }
}

For pre-deployment of Google Cloud Storage provider, update assets/sql/preload.data.json with your configuration:

{
  "key": "GCloud",
  "description": "Google Cloud Storage Provider",
  "payload": {
    "service": "GCloud",
    "projectId": "{GCloud Project Id}",
    "clientId": "{GCloud Service User Unique Id}",
    "serviceAccount": "{GCloud Service User Email}",
    "secretAccessKey": "{GCloud Service User Private Key}",
    "bucketName": "{GCloud Bucket Name}",
    "publicUrl": "{GCloud Public Url}"
  }
}

Http Requests

You can find list of available http request in the requests directory. You can run http requests directly via WebStorm, for more information check out: jetbrains.com/help/idea/http-client-in-product-code-editor.html

Contributors


Furkan Yavuz

💬 📖 👀

Fatih Turker

💬 📖 👀

Mert Sarac

💬 📖 👀

Contributing

Refer to CONTRIBUTING.md to see how to contribute to Open Template Hub.


Code of Conduct

Refer to CODE_OF_CONDUCT.md to see contributor covenant code of conduct.


LICENSE

The source code for this project is released under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published