Welcome to Orcasound! We're thrilled you're interested in contributing to the site.
Please read and make sure you understand our Code of Conduct before contributing to the project.
We recommend following these steps if you'd like to contribute to the repo.
- Check out the Trello board for an overview of features being worked on.
- This public roadmap has a higher level view.
- Fork the Orcasite repo.
- Develop on a feature branch.
- Submit a PR (don't review your own)!
- To maintain a consistent style, we recommend running Prettier on js, and
mix format
before submission.
- To maintain a consistent style, we recommend running Prettier on js, and
- Once a PR is merged, we can throw it up onto the dev server to see how things look!
If you have any questions about parts of the architecture and site, these are contributors with context about various parts:
- Paul Cretu - Orcanode, streaming backend, ffmpeg
- Skander Mzali - Elixir backend, JS/React frontend
If you're new to Elixir (or JS and React), that's no problem! Here are some resources for learning what they're about.
- Official Elixir Documentation - An excellent place to get started.
- Elixir Forum - A huge repository of discussion and answered questions
- Elixir Slack - Super friendly bunch of people
- Absinthe - Elixir library for GraphQL
- Umbrella Projects - Forum post with various resources for building a distributed architecture
- Micropatterns in Elixir - Great video on how to think about recursion to solve problems
- An intro to OTP - Overview of OTP supvervision trees
- Fred Hebert - The Hitchhiker's Guide to the Unexpected - There's a good section on a real-world supervision trees
- ElixirConf - GraphQL with Absinthe & Dataloader
- ElixirDaze - Phoenix Contexts - Great video on how to think about Phoenix Contexts
- Domain Driven Design: The Good Parts - Real-world contexts using DDD
- DDD & Microservices - Not Elixir specific, but an overview of how a distributed system can interact
- React Docs - much like Elixir, a great place to start
- GraphQL Docs - General GraphQL docs
- Apollo GraphQL - Javascript library for GraphQL
Some of these are convenient for reference:
- Evercam - Good example of supervision trees