A beginner friendly project to help you in open source contributions.
Visit the Official Website »
Report Bug
·
Documentation Request
.
Feature Request
- What is Open Source?
- Open Source programs this repo has been part of
- Overview of Project
- Contribution Guidelines
- Usage
- Contributors
- Github Beginner Guide
- Feedback
(Bottom)
The open source community provides a great opportunity for aspiring programmers to distinguish themselves; and by contributing to various projects, developers can improve their skills and get inspiration and support from like-minded people. When you contribute to something you already know and love, it can have so much more meaning, because you know how the tool is used and the good it does for you. Being part of an open source community opens you up to a broader range of people to interact with.
Read more about it here.
The goal of this project is to help the beginners with their contributions in Open Source. We aim to achieve this collaboratively, so feel free to contribute in any way you want, just make sure to follow the contribution guidelines.
# ReactJS in the frontend
# State management in the frontend using Redux & Redux Toolkit
# Styled components with more emphasis on custom CSS & little bit of Material UI & Icons
# Video & Image upload using firebase storage
# Search, Like & Dislike, Subscribe a channel & Comment a video features
# Video recommendations on the video page
# Light / Dark Mode toggling
# Axios http client
# JWT cookie authentication
# Hashed password saving in the MongoDB database
# Login & Signup with custom Email & Password, Google OAuth using firebase authentication
# RESTful API using ExpressJS and MongoDB with mongoose
# Error handler & Protected routes
Here are some set of guidelines to follow while contributing to mern_youtube_clone
:
1. Welcome to this repository, if you are here as an open-source program participant/contributor.
2. Participants/contributors have to **comment** on issues they would like to work on, and mentors or the PA will assign you.
3. Issues will be assigned on a **first-come, first-serve basis.**
4. Participants/contributors can also **open their issues**, but it needs to be verified and labelled by a mentor. We respect all your contributions, whether
it is an Issue or a Pull Request.
5. When you raise an issue, make sure you get it assigned to you before you start working on that project.
6. Each participant/contributor will be **assigned 1 issue (max)** at a time to work.
7. Don't create issues that are **already listed**.
8. Please don't pick up an issue already assigned to someone else. Work on the issues after it gets **assigned to you**.
9. Create your file in an appropriate folder with appropriate name and extension.
10. Pull requests will be merged after being **reviewed** by mentor .
11. We all are here to learn. You are allowed to make mistakes. That's how you learn, right!.
-
Before Contribute Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md
-
Fork the repo to your Github.
-
Clone the Forked Repository to your local machine.
git clone https://github.com/ mnnkhndlwl/mern_youtube_clone.git.
-
Change the directory to mern_youtube_clone.
cd mern_youtube_clone
-
Add remote to the Original Repository.
git remote add upstream https://github.com/mnnkhndlwl/mern_youtube_clone.git
-
Check the remotes for this repository.
git remote -v
-
Always take a pull from the upstream repository to your master branch to keep it at par with the main project(updated repository).
git pull upstream main
-
Create a new branch.
git checkout -b <your_branch_name>
-
Perform your desired changes to the code base.
-
Track your changes:heavy_check_mark: .
git add .
-
Commit your changes .
git commit -m "Relevant message"
-
Push the committed changes in your feature branch to your remote repo.
git push -u origin <your_branch_name>
-
To create a pull request, click on
compare and pull requests
. Please ensure you compare your feature branch to the desired branch of the repository you are supposed to make a PR to. -
Add appropriate title and description to your pull request explaining your changes and efforts done.
-
Click on
Create Pull Request
. -
Voila! You have made a PR to this repo. Sit back patiently and relax while your PR is reviewed
Create .env file in the server folder and add the following environment variables:
# MONGO =
# JWT =
# PORT = 3001
Create .env file in the client folder and add the following environment variables, values can be found from firebase project setup
# REACT_APP_FIREBASE_KEY =
# GENERATE_SOURCEMAP=false
# Backend deps
cd server
npm install
# client deps
cd client
npm install
# Backend Server (Local)
cd server
npm start
# client Server (Local)
cd client
npm start
you need to setup new project in firebase and enable storage and signin with google option
You can refer to the following articles on the basics of Git and Github and also contact me, in case you are stuck:
If you have any feedback or suggestions please reach out to maintainers.
Or you can create a issue and mention there , which features can make this Project more good.