diff --git a/src/components/SQLCourseVariant/ChapterRow.tsx b/src/components/SQLCourseVariant/ChapterRow.tsx index c7c5fcb97..d54cfa81d 100644 --- a/src/components/SQLCourseVariant/ChapterRow.tsx +++ b/src/components/SQLCourseVariant/ChapterRow.tsx @@ -119,7 +119,7 @@ export function ChapterRow(props: ChapterRowProps) { {challenges.map((challenge, index) => (
{challenge.type === 'challenge' ? ( diff --git a/src/components/SQLCourseVariant/SQLCourseVariantPage.tsx b/src/components/SQLCourseVariant/SQLCourseVariantPage.tsx index e84a79534..a50003903 100644 --- a/src/components/SQLCourseVariant/SQLCourseVariantPage.tsx +++ b/src/components/SQLCourseVariant/SQLCourseVariantPage.tsx @@ -1,15 +1,7 @@ import { - BrainIcon, CodeIcon, - FileQuestionIcon, - DatabaseIcon, - TableIcon, - LayersIcon, - GitMergeIcon, - WrenchIcon, - BarChartIcon, - GitBranchIcon, - ArrowUpDownIcon, - NotebookTextIcon + BrainIcon, + CodeIcon, + FileQuestionIcon, NotebookTextIcon } from 'lucide-react'; import { Spotlight } from '../SQLCourse/Spotlight'; import { RoadmapLogoIcon } from '../ReactIcons/RoadmapLogo'; @@ -23,218 +15,7 @@ import { SectionHeader } from './SectionHeader'; import { ChapterRow } from './ChapterRow'; import { BuyButton } from './BuyButton'; import { FAQSection } from './FAQSection'; - -type ChapterData = { - icon: React.ReactNode; - title: string; - description: string; - lessonCount: number; - challengeCount: number; - lessons: { title: string; type: 'lesson' | 'challenge' | 'quiz' }[]; -}; - -export const sqlCourseChapters: ChapterData[] = [ - { - icon: , - title: 'Introduction', - description: 'Get comfortable with database concepts and SQL fundamentals.', - lessonCount: 4, - challengeCount: 1, - lessons: [ - { title: 'Basics of Databases', type: 'lesson' }, - { title: 'What is SQL?', type: 'lesson' }, - { title: 'Types of Queries', type: 'lesson' }, - { title: 'Next Steps', type: 'lesson' }, - { title: 'Introduction Quiz', type: 'challenge' }, - ], - }, - { - icon: , - title: 'SQL Basics', - description: 'Master the essential SQL query operations and syntax.', - lessonCount: 9, - challengeCount: 7, - lessons: [ - { title: 'SELECT Fundamentals', type: 'lesson' }, - { title: 'Aliases and Constants', type: 'lesson' }, - { title: 'Expressions in SELECT', type: 'lesson' }, - { title: 'Selecting DISTINCT Values', type: 'lesson' }, - { title: 'Filtering with WHERE', type: 'lesson' }, - { title: 'Sorting with ORDER BY', type: 'lesson' }, - { title: 'Limiting Results with LIMIT', type: 'lesson' }, - { title: 'Handling NULL Values', type: 'lesson' }, - { title: 'Comments', type: 'lesson' }, - { title: 'Basic Queries Quiz', type: 'quiz' }, - { title: 'Projection Challenge', type: 'challenge' }, - { title: 'Select Expression', type: 'challenge' }, - { title: 'Select Unique', type: 'challenge' }, - { title: 'Logical Operators', type: 'challenge' }, - { title: 'Sorting Challenge', type: 'challenge' }, - { title: 'Sorting and Limiting', type: 'challenge' }, - { title: 'Sorting and Filtering', type: 'challenge' }, - ], - }, - { - icon: , - title: 'Manipulating Data', - description: 'Learn how to modify and manipulate data in your database.', - lessonCount: 3, - challengeCount: 3, - lessons: [ - { title: 'INSERT Operations', type: 'lesson' }, - { title: 'UPDATE Operations', type: 'lesson' }, - { title: 'DELETE Operations', type: 'lesson' }, - { title: 'Data Manipulation Quiz', type: 'quiz' }, - { title: 'Inserting Customers', type: 'challenge' }, - { title: 'Updating Bookstore', type: 'challenge' }, - { title: 'Deleting Books', type: 'challenge' }, - ], - }, - { - icon: , - title: 'Defining Tables', - description: 'Master database schema design and table management.', - lessonCount: 9, - challengeCount: 7, - lessons: [ - { title: 'Creating Tables', type: 'lesson' }, - { title: 'Data Types in SQLite', type: 'lesson' }, - { title: 'Common Data Types', type: 'lesson' }, - { title: 'More on Numeric Types', type: 'lesson' }, - { title: 'Temporal Data Types', type: 'lesson' }, - { title: 'CHECK Constraints', type: 'lesson' }, - { title: 'Primary Key Constraint', type: 'lesson' }, - { title: 'Modifying Tables', type: 'lesson' }, - { title: 'Dropping and Truncating', type: 'lesson' }, - { title: 'Defining Tables Quiz', type: 'quiz' }, - { title: 'Simple Table Creation', type: 'challenge' }, - { title: 'Data Types Challenge', type: 'challenge' }, - { title: 'Constraints Challenge', type: 'challenge' }, - { title: 'Temporal Validation', type: 'challenge' }, - { title: 'Sales Data Analysis', type: 'challenge' }, - { title: 'Modifying Tables', type: 'challenge' }, - { title: 'Removing Table Data', type: 'challenge' }, - ], - }, - { - icon: , - title: 'Multi-Table Queries', - description: - 'Learn to work with multiple tables using JOINs and relationships.', - lessonCount: 7, - challengeCount: 10, - lessons: [ - { title: 'More on Relational Data', type: 'lesson' }, - { title: 'Relationships and Types', type: 'lesson' }, - { title: 'JOINs in Queries', type: 'lesson' }, - { title: 'Self Joins and Usecases', type: 'lesson' }, - { title: 'Foreign Key Constraint', type: 'lesson' }, - { title: 'Set Operator Queries', type: 'lesson' }, - { title: 'Views and Virtual Tables', type: 'lesson' }, - { title: 'Multi-Table Queries Quiz', type: 'quiz' }, - { title: 'Inactive Customers', type: 'challenge' }, - { title: 'Recent 3 Orders', type: 'challenge' }, - { title: 'High Value Orders', type: 'challenge' }, - { title: 'Specific Book Customers', type: 'challenge' }, - { title: 'Referred Customers', type: 'challenge' }, - { title: 'Readers Like You', type: 'challenge' }, - { title: 'Same Price Books', type: 'challenge' }, - { title: 'Multi-Section Authors', type: 'challenge' }, - { title: 'Expensive Books', type: 'challenge' }, - { title: 'Trending Tech Books', type: 'challenge' }, - ], - }, - { - icon: , - title: 'Aggregate Functions', - description: - "Analyze and summarize data using SQL's powerful aggregation features.", - lessonCount: 4, - challengeCount: 10, - lessons: [ - { title: 'What is Aggregation?', type: 'lesson' }, - { title: 'Basic Aggregation', type: 'lesson' }, - { title: 'Grouping Data', type: 'lesson' }, - { title: 'Grouping and Filtering', type: 'lesson' }, - { title: 'Aggregate Queries Quiz', type: 'quiz' }, - { title: 'Book Sales Summary', type: 'challenge' }, - { title: 'Category Insights', type: 'challenge' }, - { title: 'Author Tier Analysis', type: 'challenge' }, - { title: 'Author Book Stats', type: 'challenge' }, - { title: 'Daily Sales Report', type: 'challenge' }, - { title: 'Publisher Stats', type: 'challenge' }, - { title: 'High Value Publishers', type: 'challenge' }, - { title: 'Premium Authors', type: 'challenge' }, - { title: 'Sales Analysis', type: 'challenge' }, - { title: 'Employee Performance', type: 'challenge' }, - ], - }, - { - icon: , - title: 'Scalar Functions', - description: - 'Master built-in functions for data transformation and manipulation.', - lessonCount: 6, - challengeCount: 5, - lessons: [ - { title: 'What are they?', type: 'lesson' }, - { title: 'String Functions', type: 'lesson' }, - { title: 'Numeric Functions', type: 'lesson' }, - { title: 'Date Functions', type: 'lesson' }, - { title: 'Conversion Functions', type: 'lesson' }, - { title: 'Logical Functions', type: 'lesson' }, - { title: 'Scalar Functions Quiz', type: 'quiz' }, - { title: 'Customer Contact List', type: 'challenge' }, - { title: 'Membership Duration', type: 'challenge' }, - { title: 'Book Performance', type: 'challenge' }, - { title: 'Book Categories', type: 'challenge' }, - { title: 'Monthly Sales Analysis', type: 'challenge' }, - ], - }, - { - icon: , - title: 'Subqueries and CTEs', - description: - 'Write complex queries using subqueries and common table expressions.', - lessonCount: 4, - challengeCount: 6, - lessons: [ - { title: 'What are Subqueries?', type: 'lesson' }, - { title: 'Correlated Subqueries', type: 'lesson' }, - { title: 'Common Table Expressions', type: 'lesson' }, - { title: 'Recursive CTEs', type: 'lesson' }, - { title: 'Subqueries Quiz', type: 'quiz' }, - { title: 'Books Above Average', type: 'challenge' }, - { title: 'Latest Category Books', type: 'challenge' }, - { title: 'Low Stock by Category', type: 'challenge' }, - { title: 'Bestseller Rankings', type: 'challenge' }, - { title: 'New Customer Analysis', type: 'challenge' }, - { title: 'Daily Sales Report', type: 'challenge' }, - ], - }, - { - icon: , - title: 'Window Functions', - description: 'Advanced analytics and calculations using window functions.', - lessonCount: 5, - challengeCount: 7, - lessons: [ - { title: 'What are they?', type: 'lesson' }, - { title: 'OVER and PARTITION BY', type: 'lesson' }, - { title: 'Use of ORDER BY', type: 'lesson' }, - { title: 'Ranking Functions', type: 'lesson' }, - { title: 'Window Frames', type: 'lesson' }, - { title: 'Window Functions Quiz', type: 'quiz' }, - { title: 'Basic Sales Metrics', type: 'challenge' }, - { title: 'Bestseller Comparison', type: 'challenge' }, - { title: 'Author Category Sales', type: 'challenge' }, - { title: 'Top Authors', type: 'challenge' }, - { title: 'Price Tier Rankings', type: 'challenge' }, - { title: 'Month-over-Month Sales', type: 'challenge' }, - { title: 'Price Range Analysis', type: 'challenge' }, - ], - }, -]; +import { sqlCourseChapters } from '../SQLCourse/SQLCoursePage'; export function SQLCourseVariantPage() { return ( @@ -272,19 +53,19 @@ export function SQLCourseVariantPage() {
-
+
55+ Lessons
-
+
100+ Challenges
-
+
AI Tutor
-
+
Integrated IDE