diff --git a/src/components/LearnerDashboard.jsx b/src/components/LearnerDashboard.jsx index 4ada2af..465441d 100644 --- a/src/components/LearnerDashboard.jsx +++ b/src/components/LearnerDashboard.jsx @@ -8,6 +8,10 @@ import { Helmet } from 'react-helmet'; import Footer from './Footer'; import useDarkMode from './useDarkMode'; import BackToTopButton from './BackToTopButton'; +import categorizedMLContent from '../../categorizedMLContent'; +import categorizedDLContent from '../../categorizedDLContent'; +import categorizedGenAIContent from '../../categorizedGenAIContent'; +import categorizedPrerequisiteContent from '../../categorizedPrerequisiteContent'; // Animation variants const cardVariants = { @@ -41,35 +45,39 @@ const LearnerDashboard = () => { setTimeout(() => setIsTransitioning(false), 300); }; - // Roadmaps configuration with localStorage keys + // Roadmaps configuration with localStorage keys and content const roadmaps = [ { id: 'prerequisiteRoadmapProgress', title: 'Prerequisites', path: '/prerequisites', color: 'from-emerald-500 to-teal-500', - icon: + icon: , + content: categorizedPrerequisiteContent }, { id: 'mlRoadmapProgress', title: 'Machine Learning', path: '/machinelearning', color: 'from-blue-500 to-indigo-500', - icon: + icon: , + content: categorizedMLContent }, { id: 'dlRoadmapProgress', title: 'Deep Learning', path: '/deeplearning', color: 'from-purple-500 to-pink-500', - icon: + icon: , + content: categorizedDLContent }, { id: 'genaiRoadmapProgress', title: 'Generative AI', path: '/genai', color: 'from-amber-500 to-orange-500', - icon: + icon: , + content: categorizedGenAIContent } ]; @@ -81,16 +89,25 @@ const LearnerDashboard = () => { let completedVideos = 0; roadmaps.forEach(roadmap => { + // Calculate total resources from content + const roadmapContent = roadmap.content; + if (roadmapContent) { + Object.keys(roadmapContent).forEach(topicName => { + const videos = roadmapContent[topicName]; + totalVideos += videos.length; + }); + } + + // Load progress from localStorage const roadmapProgress = localStorage.getItem(roadmap.id); if (roadmapProgress) { try { const parsed = JSON.parse(roadmapProgress); savedProgress[roadmap.id] = parsed; - // Calculate stats - the progress object has keys like "TopicName_videoUrl" + // Calculate completed count - the progress object has keys like "TopicName_videoUrl" // and values are boolean (true for completed) Object.keys(parsed).forEach(key => { - totalVideos++; if (parsed[key] === true) { completedVideos++; } @@ -115,10 +132,20 @@ const LearnerDashboard = () => { // Calculate progress for each roadmap const getRoadmapProgress = (roadmapId) => { + const roadmap = roadmaps.find(r => r.id === roadmapId); const roadmapData = progress[roadmapId] || {}; - const videos = Object.keys(roadmapData); - const completed = videos.filter(v => roadmapData[v] === true).length; - const total = videos.length; + + // Calculate total resources from content + let total = 0; + if (roadmap && roadmap.content) { + Object.keys(roadmap.content).forEach(topicName => { + const videos = roadmap.content[topicName]; + total += videos.length; + }); + } + + // Count completed videos + const completed = Object.keys(roadmapData).filter(v => roadmapData[v] === true).length; const percent = total > 0 ? Math.round((completed / total) * 100) : 0; return { completed, inProgress: 0, total, percent }; diff --git a/src/components/PrivacyPolicy.jsx b/src/components/PrivacyPolicy.jsx index e2e4647..006cd41 100644 --- a/src/components/PrivacyPolicy.jsx +++ b/src/components/PrivacyPolicy.jsx @@ -22,8 +22,104 @@ const PrivacyPolicy = () => { Privacy Policy
-

This is a placeholder for the Privacy Policy page. Content will be added here soon.

-

We are committed to protecting your privacy. This policy will outline how we collect, use, and safeguard your information.

+

Last Updated: November 2025

+ +

Introduction

+

+ Welcome to mldl.study. We respect your privacy and are committed to protecting your personal information. + This Privacy Policy explains how we collect, use, and safeguard information when you use our website. +

+ +

Information We Collect

+

Local Storage Data

+

+ Our website uses browser local storage to save your learning progress, preferences, and settings. + This data is stored locally on your device and is not transmitted to our servers. The information includes: +

+
    +
  • Your progress on various learning roadmaps and topics
  • +
  • Dark mode preference
  • +
  • Bookmarked questions and resources
  • +
  • Modal dismissal preferences
  • +
+ +

Analytics Data

+

+ We use Google Analytics 4 to understand how visitors use our website. This helps us improve the user experience. + Google Analytics may collect: +

+
    +
  • Pages visited and time spent on pages
  • +
  • Browser type and device information
  • +
  • Geographic location (country/city level)
  • +
  • Referral sources
  • +
+ +

How We Use Your Information

+

We use the collected information to:

+
    +
  • Provide and maintain the learning platform functionality
  • +
  • Track your personal learning progress across sessions
  • +
  • Understand usage patterns to improve our content and features
  • +
  • Analyze website performance and user engagement
  • +
+ +

Data Storage and Security

+

+ All user-specific data (progress, preferences) is stored locally in your browser's local storage. + We do not collect, store, or transmit this personal data to our servers. You have full control over this + data and can clear it at any time through your browser settings. +

+ +

Third-Party Services

+

Google Analytics

+

+ We use Google Analytics 4, which may use cookies to collect anonymous usage data. You can opt-out of + Google Analytics tracking by installing the Google Analytics Opt-out Browser Add-on. +

+ +

External Links

+

+ Our website contains links to external resources, including YouTube videos and other educational content. + These third-party websites have their own privacy policies, and we are not responsible for their practices. +

+ +

Your Rights

+

You have the right to:

+
    +
  • Access and review your locally stored data through browser developer tools
  • +
  • Delete your local data by clearing your browser's local storage
  • +
  • Opt-out of analytics tracking through browser settings or extensions
  • +
  • Use the website without accepting analytics cookies
  • +
+ +

Children's Privacy

+

+ Our website does not specifically target children under 13. We do not knowingly collect personal + information from children. If you believe a child has provided information to us, please contact us + so we can take appropriate action. +

+ +

Changes to This Policy

+

+ We may update this Privacy Policy from time to time. We will notify users of any material changes by + updating the "Last Updated" date at the top of this policy. Your continued use of the website after + such changes constitutes acceptance of the updated policy. +

+ +

Contact Us

+

+ If you have any questions or concerns about this Privacy Policy, please contact us through our + GitHub repository at{' '} + + github.com/anshaneja5/mldl.study + +

diff --git a/src/components/TermsOfUse.jsx b/src/components/TermsOfUse.jsx index 30d5e5b..08fa0ec 100644 --- a/src/components/TermsOfUse.jsx +++ b/src/components/TermsOfUse.jsx @@ -22,8 +22,172 @@ const TermsOfUse = () => { Terms of Use
-

This is a placeholder for the Terms of Use page. Content will be added here soon.

-

By using this website, you will be agreeing to the terms and conditions outlined in this document.

+

Last Updated: November 2025

+ +

1. Acceptance of Terms

+

+ By accessing and using mldl.study ("the Website"), you accept and agree to be bound by these Terms of Use. + If you do not agree to these terms, please do not use the Website. +

+ +

2. Description of Service

+

+ mldl.study is a free educational platform that provides curated learning resources, roadmaps, and materials + for Machine Learning, Deep Learning, and Artificial Intelligence. The service includes: +

+
    +
  • Interactive learning roadmaps for ML/DL topics
  • +
  • Curated video content and educational resources
  • +
  • Progress tracking features stored locally in your browser
  • +
  • Question banks and practice materials
  • +
  • Research paper recommendations
  • +
+ +

3. Use License

+

+ Permission is granted to access and use the Website for personal, non-commercial educational purposes. + This license does not include: +

+
    +
  • Modifying or copying the Website's materials without permission
  • +
  • Using the materials for commercial purposes
  • +
  • Attempting to decompile or reverse engineer any software on the Website
  • +
  • Removing any copyright or proprietary notations from the materials
  • +
  • Transferring the materials to another person or mirroring on another server
  • +
+ +

4. Educational Purpose

+

+ All content on this Website is provided for educational purposes only. The roadmaps, resources, and + materials are curated to help learners navigate their journey in ML/DL, but we make no guarantees about: +

+
    +
  • The completeness or accuracy of the content
  • +
  • Career outcomes or employment opportunities
  • +
  • Certification or academic credit
  • +
  • The availability of linked external resources
  • +
+ +

5. External Links and Resources

+

+ The Website contains links to external resources, including YouTube videos, articles, and other educational + platforms. These links are provided for convenience, and we do not: +

+
    +
  • Control or endorse the content of external websites
  • +
  • Take responsibility for the availability or accuracy of external resources
  • +
  • Guarantee that external links will remain functional
  • +
  • Assume liability for any harm or damages from using external resources
  • +
+ +

6. User Conduct

+

You agree not to use the Website to:

+
    +
  • Violate any applicable laws or regulations
  • +
  • Transmit any harmful, offensive, or inappropriate content
  • +
  • Attempt to gain unauthorized access to the Website or its systems
  • +
  • Interfere with or disrupt the Website's functionality
  • +
  • Collect or harvest information about other users
  • +
  • Use automated systems (bots, scrapers) without permission
  • +
+ +

7. Intellectual Property

+

+ The Website's design, structure, and organization are protected by intellectual property rights. + The curated content, roadmaps, and original materials are either: +

+
    +
  • Owned by mldl.study
  • +
  • Licensed from third parties
  • +
  • Linked from publicly available educational resources
  • +
+

+ All linked content (videos, articles, papers) remains the property of their respective owners and + is subject to their own terms of use. +

+ +

8. Disclaimer of Warranties

+

+ The Website and its content are provided "as is" without warranties of any kind, either express or implied. + We do not warrant that: +

+
    +
  • The Website will be error-free or uninterrupted
  • +
  • Defects will be corrected
  • +
  • The Website is free of viruses or harmful components
  • +
  • The results from using the Website will meet your expectations
  • +
  • The information provided is complete, accurate, or current
  • +
+ +

9. Limitation of Liability

+

+ To the fullest extent permitted by law, mldl.study shall not be liable for any direct, indirect, + incidental, consequential, or special damages arising from: +

+
    +
  • Use or inability to use the Website
  • +
  • Loss of data or progress stored in local storage
  • +
  • Reliance on information provided on the Website
  • +
  • Errors, omissions, or inaccuracies in the content
  • +
  • Third-party content or external links
  • +
+ +

10. User-Generated Content

+

+ If the Website allows user contributions or feedback in the future, you grant mldl.study a non-exclusive, + royalty-free, perpetual license to use, modify, and display such content for educational purposes. +

+ +

11. Modifications to Service

+

+ We reserve the right to modify, suspend, or discontinue any part of the Website at any time without + notice. We may also update these Terms of Use periodically. Your continued use of the Website after + changes constitutes acceptance of the new terms. +

+ +

12. Privacy

+

+ Your use of the Website is also governed by our Privacy Policy. Please review our Privacy Policy to + understand how we handle information. +

+ +

13. Governing Law

+

+ These Terms of Use shall be governed by and construed in accordance with applicable laws, without + regard to conflict of law provisions. +

+ +

14. Open Source

+

+ This project is open source and welcomes contributions. By contributing to the project, you agree + that your contributions will be licensed under the same license as the project. +

+ +

15. Contact Information

+

+ If you have questions about these Terms of Use, please contact us through our GitHub repository at{' '} + + github.com/anshaneja5/mldl.study + +

+ +

16. Severability

+

+ If any provision of these Terms of Use is found to be unenforceable or invalid, that provision shall + be limited or eliminated to the minimum extent necessary, and the remaining provisions shall remain + in full force and effect. +

+ +

Acknowledgment

+

+ By using mldl.study, you acknowledge that you have read, understood, and agree to be bound by these + Terms of Use. +