Skip to content

Commit 4dd7d85

Browse files
committed
Initial Commit
0 parents  commit 4dd7d85

53 files changed

Lines changed: 13260 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Deploy to Cloudflare Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
deploy:
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
deployments: write
17+
name: Deploy to Cloudflare Pages
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v4
21+
22+
- name: Setup Node.js
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: '20'
26+
cache: 'npm'
27+
28+
- name: Install dependencies
29+
run: npm ci
30+
31+
- name: Build
32+
run: npm run build
33+
34+
- name: Publish to Cloudflare Pages
35+
env:
36+
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
37+
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
38+
run: |
39+
npx wrangler pages deploy .svelte-kit/cloudflare \
40+
--project-name=devsteps \
41+
--branch=${{ github.ref_name }}

.gitignore

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
node_modules
2+
3+
# Output
4+
.output
5+
.vercel
6+
.netlify
7+
.wrangler
8+
/.svelte-kit
9+
/build
10+
project.inlang/cache
11+
12+
# OS
13+
.DS_Store
14+
Thumbs.db
15+
16+
# Env
17+
.env
18+
.env.*
19+
!.env.example
20+
!.env.test
21+
22+
# Vite
23+
vite.config.js.timestamp-*
24+
vite.config.ts.timestamp-*
25+
26+
# Paraglide
27+
src/lib/paraglide
28+
29+
# LLM
30+
.claude

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
engine-strict=true

.prettierignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Package Managers
2+
package-lock.json
3+
pnpm-lock.yaml
4+
yarn.lock
5+
bun.lock
6+
bun.lockb
7+
8+
# Miscellaneous
9+
/static/

.prettierrc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"useTabs": true,
3+
"singleQuote": true,
4+
"trailingComma": "none",
5+
"printWidth": 100,
6+
"plugins": ["prettier-plugin-svelte"],
7+
"overrides": [
8+
{
9+
"files": "*.svelte",
10+
"options": {
11+
"parser": "svelte"
12+
}
13+
}
14+
]
15+
}

CONTRIBUTING.md

Lines changed: 253 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,253 @@
1+
# Contributing to DevSteps
2+
3+
Thank you for your interest in contributing to DevSteps! This platform is built by the community, for the community. Every contribution helps make quality programming education accessible to everyone.
4+
5+
## 🌟 How to Contribute
6+
7+
There are many ways to contribute to DevSteps:
8+
9+
### 1. **Write Course Content**
10+
Create new lessons or improve existing ones. All content is written in MDX format.
11+
12+
### 2. **Review Content**
13+
Help review and improve existing lessons for clarity and accuracy.
14+
15+
### 3. **Translate Content**
16+
Translate lessons to make them accessible to non-English speakers.
17+
18+
### 4. **Fix Bugs**
19+
Found a typo or technical issue? Submit a fix!
20+
21+
### 5. **Improve UI/UX**
22+
Help make the platform more user-friendly.
23+
24+
## 📝 Writing Course Content
25+
26+
### Course Structure
27+
28+
Courses are organized in the following structure:
29+
30+
```
31+
src/lib/
32+
├── content/
33+
│ └── courses/
34+
│ └── [course-id]/
35+
│ ├── day-1/
36+
│ │ ├── lesson-1.mdx
37+
│ │ ├── lesson-2.mdx
38+
│ │ └── ...
39+
│ ├── day-2/
40+
│ │ └── ...
41+
│ └── ...
42+
└── data/
43+
└── course-details/
44+
└── [course-id].json
45+
```
46+
47+
### MDX Lesson Format
48+
49+
Each lesson should follow this structure:
50+
51+
```mdx
52+
---
53+
title: "Your Lesson Title"
54+
description: "Brief description of what students will learn"
55+
day: 1
56+
lesson: 1
57+
duration: "15 min"
58+
type: "reading"
59+
author: "Your Name"
60+
lastUpdated: "2025-11-01"
61+
tags: ["tag1", "tag2", "tag3"]
62+
---
63+
64+
# Lesson Title
65+
66+
Your content here...
67+
68+
## Sections
69+
70+
Use clear headings and subheadings.
71+
72+
### Code Examples
73+
74+
\`\`\`javascript
75+
// Add code examples with explanations
76+
const greeting = "Hello, World!";
77+
console.log(greeting);
78+
\`\`\`
79+
80+
### Key Takeaways
81+
82+
- Point 1
83+
- Point 2
84+
- Point 3
85+
86+
## Practice Exercise
87+
88+
Include a hands-on exercise for students to practice.
89+
90+
---
91+
92+
**Next Lesson:** [Next Lesson Title](/courses/course-id/day-1/next-lesson)
93+
```
94+
95+
### Course Metadata JSON
96+
97+
Each course needs a JSON file in `src/lib/data/course-details/[course-id].json`:
98+
99+
```json
100+
{
101+
"id": "course-id",
102+
"title": "Course Title",
103+
"description": "Short description",
104+
"longDescription": "Detailed description of the course",
105+
"language": "en",
106+
"duration": 7,
107+
"level": "Beginner",
108+
"estimatedHours": 14,
109+
"lastUpdated": "2025-11-01",
110+
"color": "purple",
111+
"contributors": [
112+
{
113+
"name": "Your Name",
114+
"title": "Community Contributor",
115+
"bio": "Brief bio",
116+
"avatar": "👨‍💻"
117+
}
118+
],
119+
"community": {
120+
"contributorsCount": 1,
121+
"githubRepo": "https://github.com/devsteps/course-name"
122+
},
123+
"whatYouWillLearn": [],
124+
"requirements": [],
125+
"targetAudience": [],
126+
"curriculum": [],
127+
"features": []
128+
}
129+
```
130+
131+
## ✅ Content Guidelines
132+
133+
### Writing Style
134+
135+
- **Clear and Concise**: Use simple language
136+
- **Beginner-Friendly**: Assume no prior knowledge
137+
- **Practical**: Include real-world examples
138+
- **Structured**: Use headings, bullet points, and code blocks
139+
- **Progressive**: Build on previous lessons
140+
141+
### Code Examples
142+
143+
- Include comments explaining the code
144+
- Show both good and bad examples when relevant
145+
- Test all code before submitting
146+
- Use proper syntax highlighting
147+
148+
### Exercises
149+
150+
- Include at least one exercise per lesson
151+
- Provide hints without giving away the solution
152+
- Vary difficulty levels
153+
154+
## 🚀 Getting Started
155+
156+
1. **Fork the Repository**
157+
```bash
158+
git clone https://github.com/yourusername/devsteps.git
159+
cd devsteps
160+
```
161+
162+
2. **Install Dependencies**
163+
```bash
164+
npm install
165+
```
166+
167+
3. **Create a New Branch**
168+
```bash
169+
git checkout -b feature/your-feature-name
170+
```
171+
172+
4. **Start Development Server**
173+
```bash
174+
npm run dev
175+
```
176+
177+
5. **Make Your Changes**
178+
- Add your lesson files
179+
- Update course metadata
180+
- Test locally
181+
182+
6. **Commit and Push**
183+
```bash
184+
git add .
185+
git commit -m "Add: Description of your changes"
186+
git push origin feature/your-feature-name
187+
```
188+
189+
7. **Create a Pull Request**
190+
- Go to the repository on GitHub
191+
- Click "New Pull Request"
192+
- Describe your changes
193+
- Wait for review
194+
195+
## 📋 Pull Request Checklist
196+
197+
Before submitting a PR, ensure:
198+
199+
- [ ] Content is original or properly attributed
200+
- [ ] All code examples are tested and working
201+
- [ ] Markdown is properly formatted
202+
- [ ] No spelling or grammar errors
203+
- [ ] Follows the style guide
204+
- [ ] Course metadata is updated
205+
- [ ] Commit messages are clear
206+
207+
## 🤝 Code of Conduct
208+
209+
- Be respectful and inclusive
210+
- Welcome beginners
211+
- Provide constructive feedback
212+
- Credit others' work
213+
- Focus on education quality
214+
215+
## 💡 Content Ideas
216+
217+
Need inspiration? Consider creating:
218+
219+
- Beginner courses on popular technologies
220+
- Advanced topics with clear explanations
221+
- Project-based tutorials
222+
- Best practices guides
223+
- Common pitfalls and how to avoid them
224+
225+
## 🎯 Quality Standards
226+
227+
All content should:
228+
229+
- Be technically accurate
230+
- Include working code examples
231+
- Have clear learning objectives
232+
- Be properly structured
233+
- Include exercises for practice
234+
235+
## 📞 Get Help
236+
237+
- **Questions?** Open a GitHub Discussion
238+
- **Bug Reports?** Create an Issue
239+
- **Chat with us:** Join our Discord community
240+
241+
## 🙏 Recognition
242+
243+
All contributors will be:
244+
245+
- Listed as course contributors
246+
- Credited in the contributors page
247+
- Part of the DevSteps community
248+
249+
Thank you for helping make programming education accessible to everyone!
250+
251+
---
252+
253+
**Happy Contributing! 🚀**

README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# sv
2+
3+
Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).
4+
5+
## Creating a project
6+
7+
If you're seeing this, you've probably already done this step. Congrats!
8+
9+
```sh
10+
# create a new project in the current directory
11+
npx sv create
12+
13+
# create a new project in my-app
14+
npx sv create my-app
15+
```
16+
17+
## Developing
18+
19+
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
20+
21+
```sh
22+
npm run dev
23+
24+
# or start the server and open the app in a new browser tab
25+
npm run dev -- --open
26+
```
27+
28+
## Building
29+
30+
To create a production version of your app:
31+
32+
```sh
33+
npm run build
34+
```
35+
36+
You can preview the production build with `npm run preview`.
37+
38+
> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.

0 commit comments

Comments
 (0)