Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mohammedmoataz/educational-platform
a comprehensive online platform designed to enhance teaching and learning experiences. The platform aims to provide a user-friendly and interactive environment for students, teachers, and administrators to effectively engage in the educational process.
https://github.com/mohammedmoataz/educational-platform
educational-software mysql2 nestjs swagger typeorm
Last synced: about 20 hours ago
JSON representation
a comprehensive online platform designed to enhance teaching and learning experiences. The platform aims to provide a user-friendly and interactive environment for students, teachers, and administrators to effectively engage in the educational process.
- Host: GitHub
- URL: https://github.com/mohammedmoataz/educational-platform
- Owner: MohammedMoataz
- Created: 2024-04-09T20:30:27.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-07-20T21:37:44.000Z (6 months ago)
- Last Synced: 2024-07-21T04:11:59.324Z (6 months ago)
- Topics: educational-software, mysql2, nestjs, swagger, typeorm
- Language: TypeScript
- Homepage: https://educational-platform-8w01.onrender.com/api-docs/
- Size: 560 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Educational Platefore
## Description
**Educational Platefore** is a comprehensive API-based platform designed to enhance teaching and learning experiences. Built using NestJS, MySQL, TypeORM, and JWT for authentication, this project provides a robust back-end system for managing educational resources, including courses, assignments, attendance, and more. Swagger has been integrated for API documentation, making it easy for developers to explore and integrate with the API.
---
## Key Features
- **User Authentication & Authorization**: Secure access using JWT.
- **Course Management**: CRUD operations for courses and their materials.
- **Assignments & Submissions**: Manage assignments and track submissions.
- **Lecture & Attendance**: Track lectures and student attendance.
- **Learning Modules**: Includes quizzes, feedback, and interactive assignments.
- **API Documentation**: Swagger documentation for seamless API exploration.---
## Tech Stack
- **Backend**: [NestJS](https://nestjs.com/)
- **Database**: MySQL
- **ORM**: [TypeORM](https://typeorm.io/)
- **Authentication**: JWT (JSON Web Tokens)
- **API Documentation**: [Swagger](https://swagger.io/)---
## Installation
```bash
npm install
```### Prerequisites
Make sure you have the following installed:
- [Node.js](https://nodejs.org/en/) (v14.x or later)
- [MySQL](https://www.mysql.com/) (v8.x or later)
- [NestJS CLI](https://nestjs.com/)### Steps
1. **Clone the repository:**
```bash
git clone https://github.com/yourusername/educational-platefore.git
cd educational-plateforeCreate a .env file with the following environment variables:
2. **Create a .env file with the following environment variables:**
```bash
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=yourpassword
DB_NAME=education_platform
JWT_SECRET=your_jwt_secret_key
```3. **Run MySQL and create the database:**
- You will find the database sql file in the root directory.4. **Start the server:**
```bash
npm run start
```Access Swagger documentation: Navigate to http://localhost:3000/api-docs to explore the API using Swagger.
![educational platform apis](https://github.com/user-attachments/assets/2ba6d901-83d6-4b7b-bc55-7539ce87ee11)