GithubHelp home page GithubHelp logo

Comments (2)

wizage avatar wizage commented on May 23, 2024

Here is a rough draft:

Contributor Guidelines

Bugs

Bug reports and feature suggestions are welcome. When filing a bug, try to include as much information as you can. Details like these are incredibly useful:

  • A reproducible test case or series of steps
  • The date/commit of the code you're running
  • Any modifications you've made relevant to the bug
  • Anything unusual about your environment or deployment

Pull Requests

Pull requests are welcome!

You should open an issue to discuss your pull request, unless it's a trivial change. It's best to ensure that your proposed change would be accepted so that you don't waste your own time. If you would like to implement support for a significant feature that is not yet available, please talk to us beforehand to avoid any duplication of effort.

Pull requests should generally be opened against master.

Eslint should always be run before submitting new pull requests by running npm run lint-fix. This should correct any naming conventions and covert spaces/tabs to the preferred defaults.

Understanding the codebase

The codebase folder structure maps to something below:

root

./index.js
-> Contains the callback functions for amplify for pre/post push.
./amplify-plugin.json
-> Contains all supported plugin commands

provider-utils

./provider-utils/supported-services.json
-> Defines workflows that are supported by amplify video. Required files are:

  • alias : What shows up in the question
  • serviceWalkthroughFilename : What asks the questions for that specific service
  • cfnFilename : The root template for the service
  • stackFolder : Contains supporting templates for the service
  • defaultValuesFilename : Contains default answers to the questions asked in serviceWalkthroughFilename
  • provider : Define what provider you want to use. This maps to the containing folder for the rest of the files. (Right now the Amplify CLI only supports CloudFormation)

awscloudformation

./provider-utils/awscloudformation/index.js
-> This file takes the info passed from the servicewalkthrough file and executes it. This file shouldn't be changed that often.

./provider-utils/awscloudformation/utils/
-> Contains all functions that are shared between all video services with respect to CloudFormation

./provider-utils/awscloudformation/service-walkthroughs/
-> Contains the service walkthrough file that is defined in the supported-services.json. These files are what asks the questions about what we are creating.

./provider-utils/awscloudformation/obs-templates/
-> Don't worry about this. Just the template for amplify video livestream to configure OBS

./provider-utils/awscloudformation/default-values/
-> Place your defaults value file here that you defined above in the supported-services.json

./provider-utils/awscloudformation/cloudformation-templates/
-> Place your root template here and your folder for your nested stack. You will notice that the templates that already exist for the root stack are .ejs files. EJS allows us to dynamically compile the CloudFormation to add or remove features and passing parameters generated from the CLI. Any folders inside of the nested stack folder will be zipped up and given the same name in .zip on pre push.

commands

./commands/video.js
-> Contains the help view for amplify video. Any new commands should show up here.

./commands/video/
-> Contains all supported commands defined in the amplify-plugin.json

from amplify-video.

wizage avatar wizage commented on May 23, 2024

Need to merge with these guidelines:
https://github.com/awslabs/unicornflix/blob/master/CONTRIBUTING.md

from amplify-video.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.