Quick Start Guide
Get started with the DISC Workshop Series Website quickly. This guide focuses on common development tasks and content management.
Quick Setup
If you haven't installed the project yet, follow our Installation Guide.
Website Structure and Routes
Future Improvement Note: The current routing system requires manual updates to both the routes configuration and file structure. This process should be automated in future versions to reduce manual work and potential errors. Possible improvements include:
- Automatic route generation based on file structure
- CLI tool for creating new content with proper routing
- Validation system to ensure route and file structure consistency
- Dynamic route loading without manual configuration
The website follows a specific routing structure defined in lib/routes-config.ts. Here's the main navigation structure:
Getting Started Section
- Base Path:
/content/getting-started - Main Route:
/introduction
Workshops Section
- Base Path:
/content/workshops - Available Routes:
/workshop-1- UI/UX/workshop-2- HTML & CSS/workshop-3- VSCode & Git/workshop-4- React Basics/workshop-5- Better React/workshop-6- Best React/workshop-7- Backend Basics/workshop-8- Complex Backends/workshop-9- Bonus Topics
Assignments Section
- Base Path:
/content/assignments - Available Routes:
/project-overview- Project Overview
/assignment-1- Figma/assignment-2- HTML & CSS/assignment-3- Git/assignment-4- Basic React App/assignment-5- Routing & Fetching/assignment-6- Code Improvements/assignment-7- Basic API/assignment-8- Supabase/assignment-9- Deploy & Bonus Feature
Working with Content
Adding New Content
When adding new content, ensure it follows the routing structure defined above. Content should be placed in the corresponding directory under /contents/.
Example for a new workshop page:
contents/
└── content/
└── workshops/
└── workshop-1/
└── index.mdx
MDX File Structure
---
title: "Workshop 1: UI/UX"
description: "Introduction to UI/UX Design Principles"
---
# Workshop Content Here
Route Configuration
The routes are configured using TypeScript interfaces. If you need to add new routes, modify the ROUTES array in lib/routes-config.ts:
export type EachRoute = {
title: string;
href: string;
basePath?: string;
noLink?: true;
items?: EachRoute[];
};
// Example of adding a new workshop
const ROUTES: EachRoute[] = [
{
title: "Workshops",
href: "/workshops",
noLink: true,
basePath: "content",
items: [
{ title: "1: UI/UX", href: "/workshop-1" },
// Add new workshop here
],
},
// ... other routes
];
Development Workflow
Creating New Pages
- Add the route to
lib/routes-config.ts - Create the corresponding directory and
index.mdxfile - Add your content using MDX format
Example for adding a new workshop:
- Add to routes configuration:
{
title: "10: Advanced Topics",
href: "/workshop-10"
}
- Create content file:
mkdir -p contents/content/workshops/workshop-10
touch contents/content/workshops/workshop-10/index.mdx
- Add content to
index.mdx:
---
title: "Workshop 10: Advanced Topics"
description: "Advanced development concepts and practices"
---
# Workshop Content
Using Components in MDX
Import and use components in your MDX files:
import MyComponent from "@/components/MyComponent";
<MyComponent />
Common MDX Components Available
Note: For important calloutsImageComponent: For optimized imagesCodeBlock: For code snippets with syntax highlightingStepper: For step-by-step guides
Example usage:
<Note type="info">Important information here</Note>
<CodeBlock language="typescript">const example = "Hello World";</CodeBlock>
Content Guidelines
Workshop Content Structure
- Introduction/Overview
- Learning Objectives
- Prerequisites
- Main Content
- Practice Exercises
- Additional Resources
Assignment Structure
- Assignment Overview
- Requirements
- Submission Guidelines
- Grading Criteria
- Resources/References
Next Steps
After getting familiar with the basics:
- Review the complete Project Structure
- Check out our Contributing Guidelines