Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/abdullahsadik00/ed-tech-platform
- Owner: abdullahsadik00
- Created: 2024-08-10T16:04:47.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-12-29T13:45:13.000Z (5 days ago)
- Last Synced: 2024-12-29T14:35:21.660Z (5 days ago)
- Topics: course-management, ed-tech-platform, javascript, nodejs, react, third-party-integrations, typescript, web-development
- Language: JavaScript
- Homepage:
- Size: 29.7 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
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.
```