Skip to content

MersadHabibi/Sabzlearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

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:
git clone https://github.com/MersadHabibi/Sabzlearn.git
  1. Navigate to the project directory:
cd SabzLearn
  1. Install dependencies for both frontend and backend:
# Install frontend dependencies
cd frontend
npm install

# Install backend dependencies
cd ../backend
npm install
  1. Add .env file to /backend:
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=""
  1. Start the frontend server:
# From the frontend directory
npm run dev
# From the backend directory
npm run dev
  1. Open your web browser and visit http://localhost:8000 to access SabzLearn frontend.

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