Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/mersadhabibi/sabzlearn


https://github.com/mersadhabibi/sabzlearn

axios backend backend-api css expressjs front-end frontend html izitoast javascript nodejs sabzlearn swiper tailwindcss vite web website

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# SabzLearn

SabzLearn is a Node.js website aimed at providing educational resources to users.

## Description

SabzLearn is a platform designed to facilitate learning by providing educational resources in various subjects. Whether you're a student looking for study materials or a self-learner seeking to expand your knowledge, SabzLearn offers a wide range of resources to cater to your needs.

## Features

- Browse and search for educational resources.
- Filter resources by subject, topic, or difficulty level.
- View detailed descriptions and previews of resources.
- Save favorite resources for later access.
- Interact with a community of learners through comments and discussions.
- Regularly updated content to keep users engaged and informed.
- **Forget Password by MagicLink**: Enables users to reset their passwords securely via email.
- **OTP Code for Email Verification**: Verifies user email addresses using one-time passwords.
- **Google Authentication**: Allows users to log in using their Google accounts.
- **Admin Panel**: Provides administrators with the ability to:
- Add, edit, and delete courses.
- Add subjects to courses.
- Upload videos for each episode.

## Installation

To run SabzLearn locally, follow these steps:

1. Clone the repository:

```bash
git clone https://github.com/MersadHabibi/Sabzlearn.git
```

2. Navigate to the project directory:

```bash
cd SabzLearn
```

3. Install dependencies for both frontend and backend:

```bash
# Install frontend dependencies
cd frontend
npm install

# Install backend dependencies
cd ../backend
npm install
```

4. Add .env file to /backend:

```bash
DATABASE_URL=""
SALT=""
SECRET_KEY=""

REDIS_URL=""

# SmTp Mail Server Configs
SMTP_HOST=""
SMTP_PORT=""
SMTP_USERNAME=""
SMTP_PASSWORD=""

# Google Auth Configs

CALLBACK_URL="http://localhost:3000/api/google/callback"
CLIENT_ID=""
CLIENT_SECRET=""
```

5. Start the frontend server:

```bash
# From the frontend directory
npm run dev
# From the backend directory
npm run dev
```

5. Open your web browser and visit http://localhost:8000 to access SabzLearn frontend.

6. Backend API endpoints will be available at http://localhost:3000.