Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/mersadhabibi/sabzlearn
- Owner: MersadHabibi
- Created: 2023-11-16T10:41:54.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-13T07:13:38.000Z (11 months ago)
- Last Synced: 2024-03-13T07:30:58.863Z (11 months ago)
- Topics: axios, backend, backend-api, css, expressjs, front-end, frontend, html, izitoast, javascript, nodejs, sabzlearn, swiper, tailwindcss, vite, web, website
- Language: HTML
- Homepage:
- Size: 4.13 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.