From f4cde939e2475f3968062b553b192de7cbae382f Mon Sep 17 00:00:00 2001 From: Pritam-Reddy <133579190+Pritam-Reddy@users.noreply.github.com> Date: Fri, 3 Jan 2025 15:54:54 +0530 Subject: [PATCH 1/3] Update README.md --- README.md | 150 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 131 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 8938207..6bb6144 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,146 @@ -🚀 **Introducing Leetcode Journal** 🚀 +# Leetcode Journal 🚀 -I'm excited to share [Leetcode Journal](https://github.com/yashksaini-coder/Leetcode-Journal), a project designed to help developers track, organize, and review their Leetcode solutions through an intuitive interface. +Your ultimate companion for mastering LeetCode! -**Key Features:** +Leetcode Journal is a robust platform designed to help developers track, organize, and analyze their problem-solving journey on LeetCode. Whether you're preparing for coding interviews or sharpening your skills, Leetcode Journal ensures an intuitive and efficient experience. -- 📝 **Save Solutions:** Easily store your Leetcode solutions for future reference. -- 🗂️ **Categorize Problems:** Organize problems by categories to streamline your study sessions. -- 📈 **Monitor Progress:** Keep track of your problem-solving journey over time. -- 📊 **Analyze Performance:** Gain insights into your strengths and areas for improvement. +## Table of Contents -**Why Contribute?** +- [Project Overview](#project-overview) +- [Key Features](#key-features) +- [Tech Stack](#tech-stack) +- [Installation](#installation) +- [Usage](#usage) +- [Contributing](#contributing) -Leetcode Journal serves as both a personal learning tool and a showcase of problem-solving skills. By contributing, you can: +## Project Overview -- 🤝 **Collaborate:** Work with a community of like-minded developers. -- 💡 **Innovate:** Bring new ideas to enhance the tool's functionality. -- 🌟 **Grow:** Develop your skills and enrich your open-source portfolio. +Leetcode Journal is built to address the need for systematic tracking and review of LeetCode solutions. This platform is perfect for developers who want to: +- Save and organize their solutions. +- Monitor progress over time. +- Analyze performance and identify improvement areas. +With features like advanced categorization and visual analytics, the platform aims to streamline the learning process for coders of all levels. -**Get Started:** +## Key Features -1. **Explore the Repository:** Check out the project on GitHub: [Leetcode Journal](https://github.com/yashksaini-coder/Leetcode-Journal). -2. **Read the Documentation:** Understand the project's structure and guidelines. -3. **Contribute:** Pick an issue or suggest improvements. Your input is invaluable! +Leetcode Journal offers the following key features: -Let's build something amazing together! 🌐 +- **📝 Save Solutions:** Store and retrieve your LeetCode solutions effortlessly. +- **🗂️ Categorize Problems:** Tag problems by difficulty, topic, or category for better organization. +- **📈 Track Progress:** Visualize your journey with detailed progress tracking. +- **📊 Performance Analytics:** Leverage charts and insights to discover patterns in your performance. -Happy coding! 💻 +## Tech Stack + +Leetcode Journal leverages cutting-edge technologies to deliver a seamless user experience: + +- **Frontend:** React.js with external UI libraries for modern, responsive design. +- **State Management:** Context API or Redux for efficient data handling. +- **Backend:** Django 3.0 for scalable and secure APIs. +- **Database:** PostgreSQL for reliable and structured data storage. +- **Visualization:** Chart.js for interactive data insights and progress monitoring. +- **Hosting:** Vercel for a fast, optimized live application experience. + +## Installation + +### Prerequisites + +Ensure you have the following tools installed: + +- [Node.js](https://nodejs.org/) (v16.x or higher) +- [npm](https://www.npmjs.com/) (v6.x or higher) or yarn (v1.x or higher) +- [Python](https://www.python.org/) (v3.x or higher) +- [PostgreSQL](https://www.postgresql.org/) (v14.x or higher) + Python 3.x + PostgreSQL + +### Setup + +#### 1. Clone the Repository +```bash +git clone https://github.com/your-username/leetcode-journal.git + +# Navigate to the project directory +cd leetcode-journal +``` + +#### 2. Install Dependencies +```bash +# Install backend dependencies +pip install -r requirements.txt + +# Install frontend dependencies +cd client +npm install +``` +#### 3. Set Up Database + +- Configure your PostgreSQL database in the backend settings. + +#### 4. Start the Application +```bash +# Start the backend +python manage.py runserver + +# Start the frontend +cd client +npm start +``` +#### 5. Open the app in your browser +You should now be able to access the application at [http://localhost:3000](http://localhost:3000) + +## Usage + +- **Login/Sign Up:** Access your personalized dashboard. +- **Save Solutions:** Add your solutions and tag them by category. +- **Analyze Performance:** Explore your progress using charts and statistics. +- **Categorize Problems:** Organize and retrieve problems effortlessly. + +## Contributing + +We welcome contributions! Follow these steps to get started: +```bash +# Click the "Fork" button at the top-right of the repository page to create a copy in your GitHub account. +``` +```bash +# Clone the forked repository to your local machine +git clone https://github.com/your-username/leetcode-journal.git +``` +```bash +# Navigate into the project directory +cd leetcode-journal +``` +```bash +#install dependencies +npm install +``` +```bash +# Create a new branch for your feature or fix +git checkout -b feature/your-feature-name +``` +```bash +# Make Your Changes +Make sure your changes adhere to the project standards and structure. +# Stage all changes +git add . +``` +```bash +# Commit the changes with a descriptive message +git commit -m "Description of the feature or fix" +``` +```bash +# Push your branch to your forked repository +git push origin feature/your-feature-name +``` +```bash +# Go to the original repository on GitHub and open a new Pull Request +# Provide a clear description of your changes in the Pull Request. +``` *Connect with me on GitHub: [yashksaini-coder](https://github.com/yashksaini-coder)* *Explore the live application: [Leetcode Journal Live](https://leetcode-journal.vercel.app/)* -*Learn more about effective Leetcode practices: [The DEFINITIVE way on how to LeetCode properly](https://www.reddit.com/r/cscareerquestions/comments/sgktuv/the_definitive_way_on_how_to_leetcode_properly/)* \ No newline at end of file +*Learn more about effective Leetcode practices: [The DEFINITIVE way on how to LeetCode properly](https://www.reddit.com/r/cscareerquestions/comments/sgktuv/the_definitive_way_on_how_to_leetcode_properly/)* + +

Happy Coding ☕️

From e62463e55178bfce6360911b6c81f9cbbabbc566 Mon Sep 17 00:00:00 2001 From: Pritam-Reddy <133579190+Pritam-Reddy@users.noreply.github.com> Date: Sat, 4 Jan 2025 19:38:04 +0530 Subject: [PATCH 2/3] Update auto-comment workflow for PRs and Issues --- .github/workflows/autoComment.yaml | 69 ++++++++++++++++++++++++------ 1 file changed, 55 insertions(+), 14 deletions(-) diff --git a/.github/workflows/autoComment.yaml b/.github/workflows/autoComment.yaml index 6d6ce99..66b0c82 100644 --- a/.github/workflows/autoComment.yaml +++ b/.github/workflows/autoComment.yaml @@ -4,7 +4,8 @@ on: issues: types: [opened] pull_request: - types: [opened] + types: + - opened jobs: auto-comment: @@ -13,17 +14,57 @@ jobs: issues: write pull-requests: write steps: - - name: Auto Comment - uses: actions/github-script@v7 + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Add Comment on Pull Request + if: ${{ github.event_name == 'pull_request' }} + uses: peter-evans/create-or-update-comment@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + repository: ${{ github.repository }} + issue-number: ${{ github.event.pull_request.number }} + body: | + 🚀 **Hello @${{ github.event.pull_request.user.login }}!** + + Thank you for your contribution to the **Leetcode Journal** project! 🎉 + We value your effort and are excited to review your changes. + + ### PR Checklist: + Please ensure your PR adheres to the following checklist: + - [ ] PR description includes a summary and context for the changes. + - [ ] Relevant dependencies have been listed. + - [ ] Testing section is filled out with details on verification. + - [ ] Screenshots/Videos are attached (if applicable). + - [ ] Checklist items are marked as completed. + + ### Review Notifications: + - **Project Admin:** @yashksaini-coder + - **Mentor:** @ompharate + + The team will review your PR shortly. If you have any questions, feel free to ask here! + Happy Coding! 🚀 + + - name: Add Comment on Issue + if: ${{ github.event_name == 'issues' }} + uses: peter-evans/create-or-update-comment@v3 with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - const issueComment = context.payload.issue - ? `Thank you for opening an issue, @${context.payload.issue.user.login}! will review it soon. Meanwhile you can describe & share your approach on how to resolve this issue.` - : `Thank you for creating this pull request, @${context.payload.pull_request.user.login}! A reviewer will check it shortly.`; - github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - body: issueComment, - }); + token: ${{ secrets.GITHUB_TOKEN }} + repository: ${{ github.repository }} + issue-number: ${{ github.event.issue.number }} + body: | + 👋 **Hello @${{ github.event.issue.user.login }}!** + + Thank you for raising an issue in the **Leetcode Journal** project! + Your issue has been logged, and the team will review it shortly. + + ### Issue Handling Checklist: + - [ ] Make sure the issue includes clear steps to reproduce (if applicable). + - [ ] Provide relevant context, screenshots, or logs. + - [ ] Mention if this issue blocks any critical workflows. + + ### Notifications: + - **Project Admin:** @yashksaini-coder + - **Mentor:** @ompharate + + We'll get back to you soon. Stay tuned! 🚀 \ No newline at end of file From 6a73e4ae6bbe55c4405caa8155f16139a11f5da3 Mon Sep 17 00:00:00 2001 From: Pritam-Reddy <133579190+Pritam-Reddy@users.noreply.github.com> Date: Sat, 4 Jan 2025 20:21:43 +0530 Subject: [PATCH 3/3] Update autoComment.yaml --- .github/workflows/autoComment.yaml | 63 ++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/.github/workflows/autoComment.yaml b/.github/workflows/autoComment.yaml index 66b0c82..e6aa51d 100644 --- a/.github/workflows/autoComment.yaml +++ b/.github/workflows/autoComment.yaml @@ -19,17 +19,24 @@ jobs: - name: Add Comment on Pull Request if: ${{ github.event_name == 'pull_request' }} - uses: peter-evans/create-or-update-comment@v3 + uses: actions/github-script@v6 with: - token: ${{ secrets.GITHUB_TOKEN }} - repository: ${{ github.repository }} - issue-number: ${{ github.event.pull_request.number }} - body: | - 🚀 **Hello @${{ github.event.pull_request.user.login }}!** + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const issueNumber = context.issue.number; + const contributor = context.issue.pull_request.user.login; + const relatedIssue = context.issue.pull_request.issue.number; + + const commentBody = `🚀 **Hello @${contributor}!** Thank you for your contribution to the **Leetcode Journal** project! 🎉 We value your effort and are excited to review your changes. + **PR Details:** + + * **Contributor:** @${contributor} + * **Related Issue:** Closes #${relatedIssue} (if applicable) + ### PR Checklist: Please ensure your PR adheres to the following checklist: - [ ] PR description includes a summary and context for the changes. @@ -45,26 +52,56 @@ jobs: The team will review your PR shortly. If you have any questions, feel free to ask here! Happy Coding! 🚀 + const params = { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + body: commentBody + }; + + github.rest.issues.createComment(params); + - name: Add Comment on Issue if: ${{ github.event_name == 'issues' }} - uses: peter-evans/create-or-update-comment@v3 + uses: actions/github-script@v6 with: - token: ${{ secrets.GITHUB_TOKEN }} - repository: ${{ github.repository }} - issue-number: ${{ github.event.issue.number }} - body: | - 👋 **Hello @${{ github.event.issue.user.login }}!** + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const issueNumber = context.issue.number; + const contributor = context.issue.user.login; + const commentBody = `👋 **Hello @${contributor}!** + Thank you for raising an issue in the **Leetcode Journal** project! Your issue has been logged, and the team will review it shortly. + **Issue Details:** + + * **Contributor:** @${contributor} + ### Issue Handling Checklist: - [ ] Make sure the issue includes clear steps to reproduce (if applicable). - [ ] Provide relevant context, screenshots, or logs. - [ ] Mention if this issue blocks any critical workflows. + - [ ] **If it's a Feature Request:** + * Explain the desired functionality, including: + * Approach: How you envision implementing this feature. + * Benefits: How this feature will improve the project. + - [ ] **If it's a Bug:** + * Describe how to resolve it without affecting the working of the project. + ### Notifications: - **Project Admin:** @yashksaini-coder - **Mentor:** @ompharate - We'll get back to you soon. Stay tuned! 🚀 \ No newline at end of file + We'll get back to you soon. Stay tuned! 🚀 + + const params = { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + body: commentBody + }; + + github.rest.issues.createComment(params);