https://github.com/bhavishya2601/skilloria
Unlock a world of knowledge—learn, teach, and share transformative courses with Skilloria
https://github.com/bhavishya2601/skilloria
e-learning e-learning-platform expressjs mongodb nodejs reactjs typescript
Last synced: about 2 months ago
JSON representation
Unlock a world of knowledge—learn, teach, and share transformative courses with Skilloria
- Host: GitHub
- URL: https://github.com/bhavishya2601/skilloria
- Owner: Bhavishya2601
- License: mit
- Created: 2024-12-12T05:25:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-24T11:19:20.000Z (over 1 year ago)
- Last Synced: 2026-01-03T14:37:34.286Z (5 months ago)
- Topics: e-learning, e-learning-platform, expressjs, mongodb, nodejs, reactjs, typescript
- Language: TypeScript
- Homepage: https://skilloria.vercel.app/
- Size: 2.99 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Skilloria
Skilloria is a full-featured e-learning platform built with the MERN (MongoDB, Express, React, Node.js) stack and TypeScript. It enables users to learn from a wide range of courses as well as contribute by creating and uploading their own courses. The platform focuses on flexibility, scalability, and ease of use, making it ideal for both learners and educators.
## Features
### For Learners
- Watch video lessons and access course materials.
- Interactive user interface for an optimized learning experience.
### For Educators
- Upload new courses with rich metadata (title, description, category, etc.).
- Add multiple lessons, including video content and resources.
### General Features
- Secure user authentication and authorization.
- Responsive design for seamless usage across devices.
## Tech Stack
### Frontend
- **React**: For building the user interface.
- **TypeScript**: Ensures type safety and better developer experience.
- **React Router**: For navigation and routing.
- **Axios**: For API communication.
- **Tailwind CSS**: For styling the application.
### Backend
- **Node.js**: Runtime environment for server-side logic.
- **Express**: Framework for building RESTful APIs.
- **MongoDB**: NoSQL database for storing user and course data.
### Additional Tools
- **JWT**: For secure user authentication.
- **Cloudinary**: For handling image and video uploads.
## Installation
### Prerequisites
- Node.js and npm installed.
- MongoDB installed and running.
- Cloudinary account for handling media uploads (optional).
### Steps
1. Clone the repository:
```bash
git clone https://github.com/bhavishya2601/skilloria.git
cd skilloria
```
2. Install dependencies for both frontend and backend:
```bash
cd frontend
npm install
cd ../backend
npm install
```
3. Set up environment variables:
Create a `.env` file in the `backend` directory and add the following:
```env
PORT=
FRONTEND_URL=
MONGODB_URI=
SESSION_SECRET=
EMAIL=
EMAIL_PASSWORD=
SALT_ROUNDS=
JWT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URL=
```
4. Start the development servers:
```bash
# In one terminal, start the backend:
cd backend
npm run dev
# In another terminal, start the frontend:
cd frontend
npm run start
```
5. Open your browser and navigate to `http://localhost:3000`.
## Folder Structure
```plaintext
skilloria/
├── frontend/ # React application
├── backend/ # Express server and API logic
├── README.md
└── LICENSE
```
## Contribution
We welcome contributions to Skilloria! If you have an idea or want to fix a bug, feel free to:
1. Fork the repository.
2. Create a new branch for your feature or fix.
3. Submit a pull request with detailed information about your changes.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact
For any questions or feedback, feel free to reach out:
- **Email**: bhavishya2601garg@gmail.com
- **GitHub**: [bhavishya2601](https://github.com/bhavishya2601)