Skip to content

Commit 135bf25

Browse files
Merge pull request #56 from Eric-Zhang-Developer/docs/upate-readme
docs: update readme
2 parents 99826b7 + e5aec6c commit 135bf25

File tree

1 file changed

+110
-22
lines changed

1 file changed

+110
-22
lines changed

README.md

Lines changed: 110 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,124 @@
1-
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
1+
<p align="center">
2+
<img src="./public/codequestAllDark.png" alt="CodeQuest Logo" width="800"/>
3+
</p>
4+
5+
[![Next.js](https://img.shields.io/badge/Next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white)](https://nextjs.org/)
6+
[![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)](https://react.dev/)
7+
[![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
8+
[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)](https://tailwindcss.com/)
9+
[![DaisyUI](https://img.shields.io/badge/DaisyUI-5A0EF8?style=for-the-badge&logo=daisyui&logoColor=white)](https://daisyui.com/)
10+
[![Supabase](https://img.shields.io/badge/Supabase-3ECF8E?style=for-the-badge&logo=supabase&logoColor=white)](https://supabase.io/)
11+
[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-4169E1?style=for-the-badge&logo=postgresql&logoColor=white)](https://www.postgresql.org/)
12+
[![Vercel](https://img.shields.io/badge/Vercel-000000?style=for-the-badge&logo=vercel&logoColor=white)](https://vercel.com/)
13+
[![Vitest](https://img.shields.io/badge/Vitest-%236E9F18.svg?style=for-the-badge&logo=vitest&logoColor=white)](https://vitest.dev/)
14+
[![React Testing Library](https://img.shields.io/badge/RTL-%23E33332.svg?style=for-the-badge&logo=testing-library&logoColor=white)](https://testing-library.com/)
15+
[![ESLint](https://img.shields.io/badge/eslint-4B32C3?style=for-the-badge&logo=eslint&logoColor=white)](https://eslint.org/)
16+
[![Turbopack](https://img.shields.io/badge/Turbopack-000000?style=for-the-badge&logo=turborepo&logoColor=white)](https://turbo.build/pack)
17+
18+
## About
19+
20+
A gamified, fantasy-themed web application that teaches programming fundamentals through interactive quests, embedded videos, and quizzes.
21+
22+
**CodeQuest** transforms learning to code into an epic adventure. Users embark on a journey through 10 progressive programming quests, each presented as an ancient scroll filled with knowledge. The platform uses fantasy RPG theming - spells, incantations, oracles, and sorcery - to make programming concepts engaging and memorable for beginners.
23+
24+
[![Play Now!](https://img.shields.io/badge/-Start%20Your%20Journey!-6366f1?style=for-the-badge)](https://intro-swe-term-project.vercel.app/)
25+
26+
## How It Works
27+
28+
1. **Begin Your Journey**: Visit the landing page and click "Start Your Journey" to enter the realm.
29+
30+
2. **Sign In**: Authenticate with your account to track your progress across quests.
31+
32+
3. **Explore the Dashboard**: View your quest map - a visual progression path showing completed and upcoming quests with connecting arrows.
33+
34+
4. **Select a Quest**: Choose from 10 programming quests, starting with "Hello World" and advancing through Variables, Loops, Functions, and beyond.
35+
36+
5. **Learn from the Scrolls**: Each quest presents a beautifully themed tutorial with explanations, code examples, and embedded YouTube videos.
37+
38+
6. **Prove Your Knowledge**: Complete the quiz at the end of each quest to test your understanding and mark the quest as complete.
39+
40+
7. **Track Your Progress**: Return to the dashboard to see your completed quests highlighted in green, then continue your adventure!
41+
42+
## Key Features
43+
44+
- **Fantasy Quest Theme**: Immersive RPG - style presentation transforms dry programming concepts into an engaging adventure with scrolls, oracles, and incantations.
45+
46+
- **10 Progressive Programming Quests**: A structured curriculum covering Hello World, Variables, User Input, Conditionals, Loops, Math, Functions, Lists & Arrays, Dictionaries, and Recursion.
47+
48+
- **Visual Progress Map**: An interactive dashboard displays your learning path with visual arrows connecting quests, showing completion status at a glance.
49+
50+
- **Embedded Video Tutorials**: Each quest includes curated YouTube videos to supplement the written content and cater to different learning styles.
51+
52+
- **Interactive Quizzes**: Test your knowledge after each quest with themed multiple-choice quizzes that reinforce key concepts.
53+
54+
- **User Authentication & Progress Tracking**: Secure OAuth login via Supabase with persistent progress tracking - pick up right where you left off.
55+
56+
- **Reset Progress**: Option to reset all quest completions and start your journey fresh.
57+
58+
## Tech Stack
59+
60+
### Frontend
61+
62+
- **React 19**
63+
- **Next.js 15** (with Turbopack)
64+
- **TypeScript**
65+
- **TailwindCSS**
66+
- **DaisyUI**
67+
- **Lucide React** (icons)
68+
69+
### Backend
70+
71+
- **Next.js API Routes & Server Actions**
72+
- **Supabase** (Authentication & Database)
73+
- **PostgreSQL**
74+
75+
### Testing
76+
77+
- **Vitest**
78+
- **React Testing Library**
79+
- **jsdom**
280

381
## Getting Started
482

5-
First, run the development server:
83+
1. Clone the repository:
84+
85+
```bash
86+
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
87+
cd YOUR_REPO
88+
```
689

7-
```bash
8-
npm run dev
9-
# or
10-
yarn dev
11-
# or
12-
pnpm dev
13-
# or
14-
bun dev
15-
```
90+
2. Install dependencies:
1691

17-
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
92+
```bash
93+
npm install
94+
```
1895

19-
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
96+
3. Set up environment variables:
2097

21-
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
98+
```bash
99+
# Create a .env.local file with your Supabase credentials
100+
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
101+
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
102+
```
22103

23-
## Learn More
104+
4. Run the development server:
24105

25-
To learn more about Next.js, take a look at the following resources:
106+
```bash
107+
npm run dev
108+
```
26109

27-
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
28-
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
110+
5. Open [http://localhost:3000](http://localhost:3000) in your browser.
29111

30-
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
112+
### Available Scripts
31113

32-
## Deploy on Vercel
114+
| Command | Description |
115+
| --------------- | --------------------------------------- |
116+
| `npm run dev` | Start development server with Turbopack |
117+
| `npm run build` | Build for production |
118+
| `npm run start` | Start production server |
119+
| `npm run lint` | Run ESLint |
120+
| `npm run test` | Run tests with Vitest |
33121

34-
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
122+
## License
35123

36-
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
124+
This project is licensed under the MIT License. See the `LICENSE` file for details.

0 commit comments

Comments
 (0)