Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/abdullahsadik00/ed-tech-platform

The Ed-Tech Platform is a modern educational technology solution designed to support various learning models including online, hybrid, and traditional classroom settings. It provides features for course management, interactive learning, and administrative oversight.
https://github.com/abdullahsadik00/ed-tech-platform

course-management ed-tech-platform javascript nodejs react third-party-integrations typescript web-development

Last synced: 3 days ago
JSON representation

The Ed-Tech Platform is a modern educational technology solution designed to support various learning models including online, hybrid, and traditional classroom settings. It provides features for course management, interactive learning, and administrative oversight.

Awesome Lists containing this project

README

        

# Ed-Tech Platform

## Project Overview

The Ed-Tech Platform is a modern educational technology solution designed to support various learning models including online, hybrid, and traditional classroom settings. It provides features for course management, interactive learning, and administrative oversight.

### Key Features

- **User Authentication**: Secure login, registration, and profile management.

- **Course Management**: Tools for creating, managing, and enrolling in courses with comprehensive content and assessments.

- **Interactive Learning**: Modules for assignments, quizzes, discussions, and multimedia content.

- **Administrative Tools**: Dashboards and reporting tools for managing users, courses, and performance analytics.

- **Communication**: Messaging system and notifications to facilitate interaction between users.

### Technologies Used

- **Frontend**: React, Redux, HTML, CSS

- **Backend**: Node.js, Express.js

- **Database**: MongoDB

- **Authentication**: JWT (JSON Web Tokens)

- **Deployment**: Docker, Kubernetes (optional), AWS or other cloud services

## File Structure

### Root Directory

- `README.md`: This file.

- `LICENSE`: License file for the project.

- `docker-compose.yml`: Docker Compose configuration file (if using Docker).

- `frontend/`: Frontend source code directory.

- `backend/`: Backend source code directory.

### Frontend Directory (`frontend/`)

- `src/`: Source code for the frontend application.

- `components/`: Reusable React components.

- `pages/`: Page-level components.

- `redux/`: Redux actions, reducers, and store configuration.

- `services/`: API service calls.

- `App.js`: Main application component.

- `index.js`: Entry point for the React application.

- `public/`: Public assets (e.g., `index.html`).

- `package.json`: Frontend dependencies and scripts.

- `.env`: Environment variables for the frontend.

### Backend Directory (`backend/`)

- `src/`: Source code for the backend application.

- `controllers/`: Request handlers for API routes.

- `models/`: Mongoose models for MongoDB schemas.

- `routes/`: API route definitions.

- `middleware/`: Middleware functions (e.g., authentication).

- `config/`: Configuration files (e.g., environment variables).

- `server.js`: Main entry point for the backend server.

- `package.json`: Backend dependencies and scripts.

- `.env`: Environment variables for the backend.

## Setup Instructions

### Prerequisites

Ensure you have the following installed:

- [Node.js](https://nodejs.org/) (v14 or later)

- [MongoDB](https://www.mongodb.com/) (or a MongoDB cloud service)

- [Docker](https://www.docker.com/) (optional for containerization)

### Clone the Repository

Clone the repository from GitHub:

```bash

git clone https://github.com/abdullahsadik00/ed-tech-platform.git

cd ed-tech-platform
```

## Setup Backend

### 1. Navigate to the backend directory

```bash
cd backend
```

#### 2. Install dependencies

```bash
npm install
```

#### 3. Create a .env file in the backend directory and add the following environment variables

```bash
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
PORT=5000
```

#### 4. Start the backend server

```bash
npm start
```

## Setup Frontend

#### 1. Navigate to the frontend directory

```bash
cd ../frontend
```

#### 2. Install dependencies

```bash
npm install
```

#### 3. Create a .env file in the frontend directory and add the following environment variables

```bash
REACT_APP_API_URL=http://localhost:5000
```

#### 4. Start the frontend server

```bash
npm start
```

## Docker Setup (Optional)

#### 1. Build Docker images

```bash
docker-compose build
```

#### 2. Start the application with Docker

```bash
docker-compose up
```

### Running Tests

#### 1. Navigate to the backend directory and run tests

```bash
cd backend
npm test
```

2. Navigate to the frontend directory and run tests:

```bash
cd ../frontend
npm test
```

## Contributing

We welcome contributions to the project! To contribute:

Fork the repository.

Create a new branch (git checkout -b feature-branch).

Make your changes.

Commit your changes (git commit -am 'Add new feature').

Push to the branch (git push origin feature-branch).

Create a new Pull Request.

## License

This project is licensed under the MIT License. See the LICENSE file for details.

## Contact

For questions or support, please contact:
Email:

GitHub Issues: GitHub Issues

## Acknowledgments

Special thanks to the contributors and supporters of this project.
Inspiration and resources from the open-source community.

```bash

This `README.md` file provides a comprehensive overview of the project, setup instructions, and additional information necessary for understanding and contributing to the project. Adjust the specific details (e.g., repository URL, contact information) as needed.
```