0.0.3 β€’ Published 3 years ago

@dexecure/dexecure v0.0.3

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

Dexecure

Motivation. Why Dexecure?

πŸ’‘ When creating websites, certain pattern of code/infrastructure is always required.
πŸ‘¨β€πŸ’» Instead of doing everything from scratch, this project provides a base framework.
πŸ† Now anyone can clone this repository, get all the benefits and start working on important stuff immediately.
🌟 MBenefits detailed in the Roadmap section.

Getting Started

  1. You will need to install Pulumi and configure it to use your AWS account.
  2. Create a new project and set your preferred aws region.
$ mkdir dexecure-example && cd dexecure-example
$ pulumi new aws-typescript
$ pulumi config set aws:region us-west-2
  1. Install dexecure
npm install @dexecure/dexecure
  1. Create an S3 bucket to be used as the origin for dexecure CDN
import { Dexecure, DexecureWebpPlugin } from "@dexecure/dexecure";
import * as aws from "@pulumi/aws";

// Create an AWS origin bucket (S3 Bucket)
const bucket = new aws.s3.Bucket("example-website");

// create dexecure cdn
const dexecure = new Dexecure.CDN("dexecure-example", {
  origin: bucket,
  cacheTime: {
    default: 604800,
  },
  plugins: [new DexecureWebpPlugin()],
});

export const cdn = dexecure.domainName;
  1. Deploy the Stack
pulumi up

Tools πŸ› 

Backend:

Docker

Environment and code organisation:

TypeScript

Roadmap (What is done and not done)

Base

Handle Different CDNs:
βœ… Cloudfront πŸ•‘ Cloudflare πŸ•‘ Akaimai
πŸ•‘ Baishancloud

Handle Different Plugins:
πŸ•‘ Asynchronous Plugins via Cloud Functions
πŸ•‘ Asynchronous Plugins via Docker
πŸ•‘ Fucntional with different types of instances
πŸ•‘ Handling different code bases
πŸ•‘ Handle multiple plugins at the same time
πŸ•‘ Syncrhnous Plugins

πŸ•‘ Handle Localise Infrastructure

πŸ•‘ Handle Localise CDNs

πŸ•‘ Retriving User’s Device/Browser/etc. Type

Handle Different Infrastructure:
πŸ•‘ AWS
πŸ•‘ Azure
πŸ•‘ GCP

Plugins

πŸ•‘ Dependency Selection
πŸ•‘ HTML
πŸ•‘ Image Processing
πŸ•‘ Injecting Codes
πŸ•‘ Multiple CDNs
πŸ•‘ Security
πŸ•‘ Text Processing
πŸ•‘ Video

Automation

πŸ•‘ Initialization Script
πŸ•‘ Security

Dashboard

πŸ•‘ Configurations
πŸ•‘ Login
πŸ•‘ Reports

Documentation

πŸ•‘ API References
πŸ•‘ Blog posts / How-to
πŸ•‘ ReadME
πŸ•‘ Wiki