This documentation contains a set of guidelines to help you during the contribution process.
I'm happy to welcome all the contributions from anyone willing to add new scripts to this repository. Thank you for helping out and remember, no contribution is too small.
Please read and follow our Code of Conduct
If you're new to Git and GitHub, no worries! Here are some useful resources:
- Forking a Repository
- Cloning a Repository
- How to Create a Pull Request
- Getting Started with Git and GitHub
- Learn GitHub from Scratch
Welcome to Deep Learning Simplified. - an open-source repository, containing beginner to advance level deep learning projects for the contributors, who are willing to start their journey in Deep Learning. Devfolio URL, https://devfolio.co/projects/deep-learning-simplified-f013. Before sending your pull requests, make sure that you read the whole guidelines. If you have any doubt on the contributing guide, please feel free to reach out.
Any contribution is accepted, from fixing grammatical mistakes to implementing complex algorithms. Please read this section if you are contributing your work.
-
Star this repository Click on the top right corner marked as Stars at last.
-
Fork this repository Click on the top right corner marked as Fork at second last.
-
Clone the forked repository
git clone https://github.com/<your-github-username>/DL-Simplified.git
- Navigate to the project directory
cd DL-Simplified
- Create a new branch
git checkout -b <your_branch_name>
- To make changes
git add .
- Now to commit
git commit -m "add comment according to your changes or addition of features inside this"
- Push your local commits to the remote repository
git push -u origin <your_branch_name>
-
Create a Pull Request
-
Congratulations! 🎉 you've made your contribution
-
Open GitHub Desktop: Launch GitHub Desktop and log in to your GitHub account if you haven't already.
-
Clone the Repository:
- If you haven't cloned the project repository yet, you can do so by clicking on the "File" menu and selecting "Clone Repository."
- Choose the project repository from the list of repositories on GitHub and clone it to your local machine.
3.Switch to the Correct Branch:
- Ensure you are on the branch that you want to submit a pull request for.
- If you need to switch branches, you can do so by clicking on the "Current Branch" dropdown menu and selecting the desired branch.
- Make Changes:
- Make your changes to the code or files in the repository using your preferred code editor.
- Commit Changes:
- In GitHub Desktop, you'll see a list of the files you've changed. Check the box next to each file you want to include in the commit.
- Enter a summary and description for your changes in the "Summary" and "Description" fields, respectively. Click the "Commit to " button to commit your changes to the local branch.
- Push Changes to GitHub:
- After committing your changes, click the "Push origin" button in the top right corner of GitHub Desktop to push your changes to your forked repository on GitHub.
- Create a Pull Request:
- Go to the GitHub website and navigate to your fork of the project repository.
- You should see a button to "Compare & pull request" between your fork and the original repository. Click on it.
- Review and Submit:
- On the pull request page, review your changes and add any additional information, such as a title and description, that you want to include with your pull request.
- Once you're satisfied, click the "Create pull request" button to submit your pull request.
- Wait for Review: Your pull request will now be available for review by the project maintainers. They may provide feedback or ask for changes before merging your pull request into the main branch of the project repository.
- Admin Github Profile:- Abhishek Sharma
- Contact :- Email
-
Follow the Project's Code Style
- Maintain consistency with the existing code style (indentation, spacing, comments).
- Use meaningful and descriptive names for variables, functions, and classes.
- Keep functions short and focused on a single task.
- Avoid hardcoding values; instead, use constants or configuration files when possible.
-
Write Clear and Concise Comments
- Use comments to explain why you did something, not just what you did.
- Avoid unnecessary comments that state the obvious.
- Document complex logic and functions with brief explanations to help others understand your thought -process.
-
Keep Code DRY (Don't Repeat Yourself)
- Avoid duplicating code. Reuse functions, methods, and components whenever possible.
- If you find yourself copying and pasting code, consider creating a new function or component.
-
Write Tests
- Write unit tests for your functions and components.
- Ensure your tests cover both expected outcomes and edge cases.
- Run tests locally before making a pull request to make sure your changes don’t introduce new bugs.
-
Code Reviews and Feedback
- Be open to receiving constructive feedback from other contributors.
- Conduct code reviews for others and provide meaningful suggestions to improve the code.
- Always refactor your code based on feedback to meet the project's standards.
- Do not edit/delete someone else's code in this repository. You can only insert new files/folder in this repository.
- Give a meaningful name to whatever file or folder you are adding. (For e.g., if you have written a Deep Learning code on Loan Prediction, then loan_prediction.py is one example of valid name)
- Welcome to this repository, if you are here as open source program participant/contributor.
- Participants / contributors have to comment on issues they would like to work on, and mentors or the PA (Project Administrator) will assign you.
- Issues will be assigned on a first-come, first-serve basis.
- Participants / contributors can also open their issues by navigating to the issue template directory issue_template, but it needs to be verified and labelled by a mentor or PA(Project Administrator). Please discuss with the team once before opening your issues. We respect all your contributions, whether it is an Issue or a Pull Request.
- When you raise a issue, make sure you get it assigned to you, before you start working on that project.
- Each participant / contributor will be assigned 1 issue (max) at a time to work.
- Participants are expected to follow project guidelines and coding style. Structured code is one of our top priority.
- Try to explain your approach to solve any issue in the comments. This will increase the chances of you being assigned.
- Don't create issues that are already listed.
- Please don't pick up an issue already assigned to someone else. Work on the issues after it gets assigned to you.
- Make sure you discuss issues before working on the issue.
- Pull requests will be merged after being reviewed by a mentor or PA.
- It might take a day or two to review your pull request. Please have patience and be nice.
- Always create a pull request from a branch other than
main
. - Participants / contributors have to complete issues before the decided Deadline. If you fail to make a PR within the deadline, then the issue will be assigned to another person in the queue.
- While making PRs, don't forget to add a description of your work.
- Include issue number (Fixes:issuenumber) in your commit message while creating a pull request.
- Make sure your solution to any issue is better in terms of performance and other parameters in comparison to the previous work.
- We all are here to learn. You are allowed to make mistakes. That's how you learn, right!.
- Please fill the PR Template properly while making a Pull Request.
- You must add your code .ipynb file into the respective folders.
- Your work must be original, written by you not copied from other resources.
- You must comment on your code where necessary.
- For frontend changes, kindly share screenshots and work samples of your work before sending a PR.
- Follow the proper style guides for your work.
- For any queries or discussions, please feel free to drop a message.
- Pull Requests will be reviewed based on code quality, documentation, and adherence to coding standards.
To report an issue, follow these steps:
- Navigate to the project's issues section :- Issues
- Please kindly choose the appropriate template according to your issue.
- Provide a clear and concise description of the issue.
- Wait until someone looks into your report.
- Begin working on the issue only after you have been assigned to it. 🚀
We want your work to be readable by others; therefore, we encourage you to note the following:
- If Titanic Survival Prediction is submitted for example, the Folder Name should be "Titanic Survival Prediction" and the File Name as "titanic_survival_prediction.ipynb"
- File extension for code should be
.ipynb
. - Strictly use snake_case (underscore_separated) in your file_name, as it will be easy to parse in future using scripts.
- Please avoid creating new directories if at all possible. Try to fit your work into the existing directory structure you have created for your project. If you want to, please contact before doing so.
- The basic project folder should have 2 repositories : Dataset and Model. Dataset should have the related dataset files for project to work and Model should have the program file and other related files concerning the project for ML, DL, CV, NLP enthusiasts.
- The README.md file should be concise and clear about what the project is about and what it does.
- It should be documented briefly enough to let readers understand.
- If you have modified/added code work, make sure that algorithm works before submitting.
- If you have modified/added documentation work, ensure your language is concise and contains no grammar errors.
- For front end designers, back end developers and UI/UX designers follow the project structure mentioned in [README]
- Do not update the README.md and Contributing_Guidelines.md.
- Avoid importing external libraries for basic algorithms (based on Time Complexity). Only use those libraries for complicated algorithms. Usage of NumPy is highly recommended.
- Markdown : Markdown is a lightweight markup language like HTML, with plain text formatting syntax.
- Git : Git is a distributed version-control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files.
We truly appreciate your time and effort to help improve our project. Feel free to reach out if you have any questions or need guidance. Happy coding! 🚀