/yummy-brummy

Recipe finder - Open Source project

Primary LanguageCSSMIT LicenseMIT

Yummy Brummy

This is a recipe finder app! Have a look at the Github pages site here

Table of Contents

Our Motivation

Contributing to open source seems really daunting. The feeling of breaking something important kept nagging away at me so that's why we've decided to use an old Hackathon project as the starting point for our own open source project.

We want everyone to feel welcome and fully supported to contribute in any way they can. There's so many things that could be added to the Yummy Brummy site and we encourage you to take the plunge. The only thing we'd say is make sure you are making meaningful commits. Don't just slightly change the padding or font-size on one element please! Maybe change the styling of a whole button or add a cool animation instead?

Also please don't make huge changes to the site or undertake drastic redesigns. We want everyone to have an opportunity to contribute and get started in the world of open source.

We have created some starter issues for you to look at. Feel free to add anything that comes to mind. Our goal is not to make the world's best recipe finder (although that would be great), but to provide a safe, non judgemental project for you to practice contributing, code reviewing, forking repos, creating and merging branches.

Core Tech Stack

We have created the React scaffolding for the site in our initial commit. It makes sense to make PostgreSQL, Express, Node and React (PERN) our default tech stack for this project. Please raise any issues with this tech stack in mind.

Contributing

Code of Conduct

In short: Be nice. No harassment, trolling, or spamming. Thanks.

How do I make a contribution?

Never made an open source contribution before? Wondering how contributions work in the in our project? Here's a quick rundown!

  1. Find an issue that you are interested in addressing. If you want to add a new feature or if you find a bug not currently in the Github issues, create a new issue on Github.

  2. Fork this repository. This means that you will have a copy of the repository under your-GitHub-username/yummy-brummy.

  3. Clone this forked repository to your local machine using git clone.

  4. Create a new branch for your fix using git checkout -b branch-name-here.

  5. Make the appropriate changes for the issue you are trying to address or the feature that you want to add.

  6. Use git add insert-paths-of-changed-files-here to add the file contents of the changed files to the "snapshot" git uses to manage the state of the project, also known as the index.

  7. Use git commit -m "Insert a short message of the changes made here" to store the contents of the index with a descriptive message.

  8. Push the changes to the remote repository using git push origin branch-name-here. Submit a pull request to the upstream repository.

  9. Title the pull request with a short description of the changes made and the issue or bug number associated with your change. For example, you can title an issue like so "Added more log outputting to resolve #4352".

  10. In the description of the pull request, explain the changes that you made, any issues you think exist with the pull request you made, and any questions you have for the maintainer. It's OK if your pull request is not perfect (no pull request is), the reviewer will be able to help you fix any problems and improve it!

  11. Wait for the pull request to be reviewed by a maintainer.

  12. Make changes to the pull request if the reviewing maintainer recommends them.

  13. Celebrate your success after your pull request is merged!

These are just some brief notes. If you are still unsure we've linked to an incredibly detailed step by step tutorial

Continued development

At the time of writing the Yummy Brummy site is built using HTML, CSS and Vanilla JS. There's clearly many ways you could extend the functionality, styling and architecture of the project. Below are some ideas to get you started:

  • Make the site mobile friendly and responsive to various screen sizes
  • Create multiple pages with extra features
  • Make this a React application using create-react-app or a development framework like next.js or gatsby
  • Bulid out the backend using Node, Express and PostgreSQL
  • Deploy the frontend to Netlify or Vercel
  • Deploy the backend to Heroku
  • Create RESTful API routes
  • Add user authentication with auth0

That's just scratching the surface for how far you can go. Please create new issues for any ideas/features you'd like to implement.

Reporting Bugs and Issues

We've based this README on freeCodeCamp's. So in that same spirit here's a link to their guide on how to report bugs and other issues. You can ask for help on Slack instead of freeCodeCamp's forums. Please remember that as fellow bootcampers we might not have the answers, but we'll certainly try our best.

Platform, Build and Deployment Status

Currently the site is deployed to Github Pages here.

License

Licensed under the MIT License.

Maintainers

@cdmclellan7, @chirazzzz, @eniabellver, @bM7tcHF88GBxDni, @firko-learnin