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

https://github.com/amaansayyad/e-learning_crypto

Building an E-learning app where course minted NFTs and users pay by Crypto.
https://github.com/amaansayyad/e-learning_crypto

blockchain docker elearning elearning-application elearning-platform elearning-site expressjs javascript metamask mongodb moralis nft nodejs reactjs redis redux walletconnect

Last synced: 8 months ago
JSON representation

Building an E-learning app where course minted NFTs and users pay by Crypto.

Awesome Lists containing this project

README

          

## "Building an E-learning app where course minted NFTs and users pay by Crypto."











### ~ Fully Fledged, Automated and Responsive Multi Page Application.
----

## 📌 Getting Started

- Clone the repo to your local environment, you have to separately install all the dependencies for backend and frontend.

---

-> For Backend, go to the backend folder (cd Backend) and run
``` npm i ```

- Use [MongoDB Cloud Storage](https://www.mongodb.com/) or you can Install [MongoDB](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/)
- add your environmental variables
- Create a .env file in the root directory of the backend folder and add your tokens there with respect to the config files variables.

- ACCESS_TOKEN_SECRET = "somesecretlongstring"
- ACCESS_TOKEN_LIFE = 10H
- REFRESH_TOKEN_SECRET = "somesecretlongstringxyz"
- REFRESH_TOKEN_LIFE = 10H
- SENDGRID_KEY = "CreateAccountonSendGridaccesstheotpandgetthekeystringhere"
- MONGO_DATABASE = "CreateAccountonMongoDBAtlascreateclustergetthekeystringhere"
- OAuth2Client = ""
- STRIPE_SECRET_TOKEN = ""
- REDIS_HOST = ""
- REDIS_PASSWORD = ""
- REDIS_PORT = ""
---

### [Note: Make sure the variables of the .env file match with that of the config files.]

---

-> For Frontend, go to the frontend folder (cd Front-end) and run
``` npm i ```

- To run a development environment, you can use the `npm start` command. This will start up a development web server on port 3000 for frontend, and a nodemon-watched API server on port 8080.

---

### [Note: you have to do npm start for backend and frontend separately.]

---

#### 📌 Implemented Features Overview:

-For Student's
- [x] Authentication with signup, login, OTP, resend OTP, forgot password (fully validated with bootstrap alerts)
- [x] Google authentication using react-google-login and google auth-library
- [x] Payment gateway -Stripe integrated with backend to buy courses with Net Banking / Card.
- [x] Redux store to easily manage states
- [x] Homepage with courses (categorically)
- [x] Recommended Courses based on user's preferences (Recommendation System)
- [x] Rating of Courses
- [x] Bookmarked Courses where users can remove or add a bookmark
- [x] Download resources (pdf - notes)
- [x] Responsive React Video player for videos
- [x] Progress bar
- [x] CoursePage with all the content of the course
- [x] Searching based on course and teacher
- [x] Real Time Live Group classes

-For Teacher's
- [x] Proper Authentication system with signup, login, OTP, resend OTP, forgot password (fully validated with bootstrap alerts)
- [x] Fully validated uploading form with description, title, Image and other details
- [x] CKEditor for writing in textbox with abilities to add different headings, paragraphs, bold, italics, link, tables, sizes etc
- [x] Teacher can upload up to 5 videos with an upload bar to show progress
- [x] Teachers can see their uploaded courses
- [x] Teachers can delete their course
- [x] Teachers can edit their course
---