saumyatiwaryy / Study-Notion

Study Notion is a remarkable EdTech platform, developed with modern technologies.
27 stars 35 forks source link
api html-css-javascript nodejs razorpay-api reactjs

StudyNotion - EdTech Platform

:rocket: [Link to website][https://studynotion-frontend.vercel.app/]

Main Page StudyNotion is a fully functional EdTech platform that enables users to create, consume, and rate educational content. The platform is built using the MERN stack, which includes ReactJS, NodeJS, MongoDB, and ExpressJS.

Table of Contents

Introduction

StudyNotion aims to provide a seamless and interactive learning experience for students, making education more accessible and engaging. Additionally, the platform serves as a platform for instructors to showcase their expertise and connect with learners across the globe.

In the following sections, we will cover the technical details of the platform, including the system architecture, API design, installation, usage instructions, and potential future enhancements.

System Architecture

The StudyNotion EdTech platform consists of three main components: the front-end, the back-end, and the database. The platform follows a client-server architecture, with the front-end serving as the client and the back-end and database serving as the server.

Front-end

The front-end of the platform is built using ReactJS, which allows for the creation of dynamic and responsive user interfaces, crucial for providing an engaging learning experience to students. The front-end communicates with the back-end using RESTful API calls.

Front End Pages

For Students:

For Instructors:

Front-end Tools and Libraries

To build the front-end, we use frameworks and libraries such as ReactJS, CSS, and Tailwind for styling, and Redux for state management.

Back-end

The back-end of the platform is built using NodeJS and ExpressJS, providing APIs for the front-end to consume. These APIs include functionalities such as user authentication, course creation, and course consumption. The back-end also handles the logic for processing and storing the course content and user data.

Back-end Features

Back-end Frameworks, Libraries, and Tools

The back-end of StudyNotion uses various frameworks, libraries, and tools to ensure its functionality and performance, including:

Data Models and Database Schema

The back-end of StudyNotion uses several data models and database schemas to manage data, including:

Database

The database for the platform is built using MongoDB, a NoSQL database that provides a flexible and scalable data storage solution. MongoDB allows for the storage of unstructured and semi-structured data. The database stores the course content, user data, and other relevant information related to the platform.

Database Schema

Architecture Diagram

Below is a high-level diagram that illustrates the architecture of the StudyNotion EdTech platform:

Architecture

API Design

The StudyNotion platform's API is designed following the REST architectural style. The API is implemented using Node.js and Express.js. It uses JSON for data exchange and follows standard HTTP request methods such as GET, POST, PUT, and DELETE.

For detailed API documentation and endpoints, refer to the API Documentation.

Installation

  1. Clone the repository: git clone https://github.com/username/repo.git
  2. Navigate to the project directory: cd StudyNotion
  3. Install dependencies: npm install

Configuration

  1. Set up a MongoDB database and obtain the connection URL.
  2. Create a .env file in the root directory with the following environment variables:
    MONGODB_URI=<your-mongodb-connection-url>
    JWT_SECRET=<your-jwt-secret-key>

Usage

  1. Start the server: npm start
  2. Open a new terminal and navigate to the client directory: cd client
  3. Start the React development server: npm start

Access the application in your browser at http://localhost:3000.