An open API service indexing awesome lists of open source software.

https://github.com/asif-102/devs-rocket


https://github.com/asif-102/devs-rocket

blob-storage mongodb mongoose next-auth nextjs14 react-hook-form shadcn-ui stripe tailwindcss tanstack-table vercel-deployment zod

Last synced: 27 days ago
JSON representation

Awesome Lists containing this project

README

          

This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.

# DevsRocket Platform Specification

## Overview

The DevsRocket Application is a Learning and Development Platform. This platform is designed for students and instructors, providing tools to create, discover, and complete courses.

---

## DB_Diagram

![alt text](/public/db_diagram.png)

---

## Features

### 1. User Roles and Registration

#### User Roles

- **Student**: Can enroll in and complete courses.
- **Instructor**: Can create, publish, and manage courses.

#### Registration & Login

**Common Features:**

- **Register Page**:
- Fields:
- First Name
- Last Name
- Email
- Password
- Confirm Password
- Role Selection: `Student` or `Instructor`.
- **Login Page**:
- Fields:
- Email
- Password
- Includes "Forgot Password" option for resetting the password.
- **Profile Settings**: Users can update their personal information.

**Instructor Onboarding:**

- After registration, a guided onboarding process to set up their instructor profile.

---

### 2. Landing Page

#### Features

- **Explore Now Button**: Redirects users to the courses page for browsing.
- **Become an Instructor Button**: Redirects users to the instructor registration page.
- **Course Categories**: Display key categories with call-to-action buttons for category-based browsing.
- **Highlighted Courses**: Showcase top or trending courses with visuals and descriptions.

---

### 3. Navigation Bar

#### Common Elements

- **Register Button**: Links to the registration page for both roles.
- **Login Button**: Links to the login page.
- **Categories Dropdown**: Lists all course categories for easy navigation.

---

### 4. Courses Page

#### Features

- **Filters**:
- By category.
- By price range.
- By rating.
- **Search Bar**: Search courses by name or keyword.
- **Sorting Options**:
- Price: Low to High / High to Low.
- Popularity / Rating.
- **Course Cards**:
- Title
- Image
- Brief Description
- Price
- Ratings

---

### 5. Course Details Page

#### Details to Display

- Course Image and Title.
- Creator Name (Clickable to view instructor profile).
- Short Description.
- Full Description.
- Last Update Date.
- Total Curriculum:
- Number of Modules.
- Number of Lessons.
- Reviews and Testimonials from students.

#### Call-to-Actions

- **Enroll Now Button**: Redirects to login if not logged in.

#### Instructor Section

- Profile Picture and Bio.
- List of other courses by the instructor (with enroll options).

---

### 6. Course Enrollment

#### Process

- **Enroll Button**: Available on the course details page.
- Redirect to login if not already logged in.
- Upon successful enrollment:
- Confirmation email sent to the student.
- Redirect to "Success" page with:
- Browse Courses button.
- Play Course button.

---

### 7. Course Learning Journey

#### Features

- **Progress Tracker**: Tracks student progress.
- **Lessons**:
- Locked content until logged in and enrolled.
- **Quizzes**:
- Interactive and scored.
- Progress saved.
- **Course Completion**:
- Certificate of completion as downloadable PDF.
- **Review Option**:
- Students can leave reviews for the course.

---

### 8. Student-Specific Features

#### Dashboard

- View enrolled courses.
- Progress tracker for each course.

#### Profile

- Update personal information.

#### Enrolled Courses Page

- List of enrolled courses with status (e.g., In Progress, Completed).

---

### 9. Instructor-Specific Features

#### Dashboard

- **Quick Analytics**:
- Total Courses.
- Total Enrollments.
- Total Revenue.

#### Course Management

- **List of All Courses**:
- Published and Unpublished status.
- **Add New Course**:
- Course Title and Description.
- Multi-step process to define curriculum and upload content.

#### Live Sessions

- Schedule live classes with duration and details.

#### Quizzes

- Create reusable quizzes.
- Assign quizzes to multiple courses.

#### Profile Page

- **Publicly Accessible**:
- Name, Bio, and Picture.
- List of courses created.
- Reviews and Ratings.

---

### 10. General Features

#### Responsive Design

- Optimized for desktop, tablet, and mobile.

#### Email Notifications

- Registration confirmation.
- Enrollment confirmation.
- Course completion acknowledgment.

#### Progress Saving

- Automatically save student progress within a course.

#### Public Lesson Preview

- Allow non-logged-in users to preview limited course content (e.g., one unlocked lesson).