Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
DATABASE_URL=
NEXTAUTH_SECRET=
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET_NAME=
R2_PUBLIC_URL=
73 changes: 73 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Code Universe

Welcome to **Code Universe**, an interactive, space-themed educational platform designed to make learning programming languages engaging and immersive. By exploring different "Planets" (such as HTML, CSS, JavaScript, etc.), users can traverse through a structured curriculum, complete interactive coding challenges, and level up their skills.

**Live Demo:** [code-universe-nu.vercel.app](https://code-universe-nu.vercel.app)

## Key Features

- **Interactive "Planet" Curriculum:** Step-by-step learning paths represented as explorable planets, each focusing on specific concepts and coding challenges.
- **Integrated Code Editor:** Write and test code directly in the browser with our built-in Monaco Editor integration, providing a VS Code-like experience.
- **Drag-and-Drop Activities:** Engaging UI interactions powered by `@dnd-kit` for interactive exercises.
- **Internationalization (i18n):** Multi-language support (English, Azerbaijani, and more) to make learning accessible globally.
- **Stunning Animations:** Smooth transitions and micro-interactions powered by **Framer Motion** and **GSAP** for a truly premium feel.
- **Secure Authentication:** Seamless user login and role management handled by **NextAuth.js**.

## Tech Stack

Code Universe is built using modern, highly scalable web technologies:

### Frontend
- **Framework:** Next.js (App Router, React 19)
- **Styling:** Tailwind CSS v4
- **Animations:** Framer Motion & GSAP
- **Code Editor:** Monaco Editor
- **State Management & Data Fetching:** TanStack React Query & Immer
- **Drag & Drop:** @dnd-kit
- **Icons:** FontAwesome & Lucide React

### Backend & Database
- **API:** Next.js Server Actions & Route Handlers
- **Database ORM:** Prisma
- **Database:** MongoDB
- **Authentication:** NextAuth.js (Prisma Adapter)
- **Cloud Storage:** AWS S3 (via `@aws-sdk/client-s3`)

### Tooling & Code Quality
- **Language:** TypeScript
- **Linting & Formatting:** ESLint & Prettier
- **Analytics:** Vercel Analytics & Speed Insights

## Project Structure

- `src/app` - Next.js App Router (Public and Protected routes, API handlers)
- `src/components` - Reusable React components (UI elements, layout wrappers)
- `src/lib` - Utility functions, constants, and shared logic
- `src/i18n` - Internationalization configuration and dictionaries
- `prisma` - Database schema and migrations
- `public` - Static assets like images and favicons

## Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## License

This project is licensed under a **Custom Educational & Non-Commercial License**.

You are free to:
- Use this repository as a reference for educational purposes.
- Learn from the structure, architecture, and code.
- Contribute to the project via Pull Requests.

You are **NOT** permitted to:
- Use the code, design, or assets for any commercial purposes.
- Sell, distribute, or monetize this software in any way.

See the `LICENSE` file for more details.
113 changes: 113 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Code Universe

Welcome to **Code Universe**, an interactive, space-themed educational platform designed to make learning programming languages engaging and immersive. By exploring different "Planets" (such as HTML, CSS, JavaScript, etc.), users can traverse through a structured curriculum, complete interactive coding challenges, and level up their skills.

🌐 **Live Demo:** [code-universe-nu.vercel.app](https://code-universe-nu.vercel.app)

---

## Key Features

- **Interactive "Planet" Curriculum:** Step-by-step learning paths represented as explorable planets, each focusing on specific concepts and coding challenges.
- **Integrated Code Editor:** Write and test code directly in the browser with our built-in Monaco Editor integration, providing a VS Code-like experience.
- **Drag-and-Drop Activities:** Engaging UI interactions powered by `@dnd-kit` for interactive exercises.
- **Internationalization (i18n):** Multi-language support (English, Azerbaijani, and more) to make learning accessible globally.
- **Stunning Animations:** Smooth transitions and micro-interactions powered by **Framer Motion** and **GSAP** for a truly premium feel.
- **Secure Authentication:** Seamless user login and role management handled by **NextAuth.js**.

---

## Tech Stack

Code Universe is built using modern, highly scalable web technologies:

### Frontend
- **Framework:** Next.js (App Router, React 19)
- **Styling:** Tailwind CSS v4
- **Animations:** Framer Motion & GSAP
- **Code Editor:** Monaco Editor
- **State Management & Data Fetching:** TanStack React Query & Immer
- **Drag & Drop:** @dnd-kit
- **Icons:** FontAwesome & Lucide React

### Backend & Database
- **API:** Next.js Server Actions & Route Handlers
- **Database ORM:** Prisma
- **Database:** MongoDB
- **Authentication:** NextAuth.js (Prisma Adapter)
- **Cloud Storage:** AWS S3 (via `@aws-sdk/client-s3`)

### Tooling & Code Quality
- **Language:** TypeScript
- **Linting & Formatting:** ESLint & Prettier
- **Analytics:** Vercel Analytics & Speed Insights

---

## Getting Started

### Prerequisites
- Node.js 18+
- MongoDB instance (local or Atlas)
- Cloudflare R2 or AWS S3 bucket (for cloud storage)

### Installation

1. **Clone the repository**
```bash
git clone https://github.com/npashayev/code-universe.git
cd code-universe
```

2. **Install dependencies**
```bash
npm install
```

3. **Set up environment variables**
```bash
cp .env.example .env.local
```
Open `.env.local` and fill in your details.

4. **Initialize the database**
```bash
npx prisma generate
npx prisma db push
```

5. **Run the development server**
```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) to see the app.

---

## Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

---

## License

This project is licensed under the [PolyForm Noncommercial License 1.0](LICENSE).

You are free to:
- Use this repository as a reference for educational purposes.
- Learn from the structure, architecture, and code.
- Contribute to the project via Pull Requests.

You are **NOT** permitted to:
- Use the code, design, or assets for any commercial purposes.
- Sell, distribute, or monetize this software in any way.

See the [LICENSE](LICENSE) file for full legal terms.
Loading