SabzLearn is a Node.js website aimed at providing educational resources to users.
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.
- 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.
To run SabzLearn locally, follow these steps:
- Clone the repository:
git clone https://github.com/MersadHabibi/Sabzlearn.git
- Navigate to the project directory:
cd SabzLearn
- Install dependencies for both frontend and backend:
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
npm install
- 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=""
- Start the frontend server:
# From the frontend directory
npm run dev
# From the backend directory
npm run dev
-
Open your web browser and visit http://localhost:8000 to access SabzLearn frontend.
-
Backend API endpoints will be available at http://localhost:3000.