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

https://github.com/phyohtetarkar/hope-elearning-web

E-learning frontend project using micro-frontend architecture
https://github.com/phyohtetarkar/hope-elearning-web

e-learning elearning frontend-web microfrontends monorepo nextjs reactjs turborepo

Last synced: 7 months ago
JSON representation

E-learning frontend project using micro-frontend architecture

Awesome Lists containing this project

README

          

# E-learning web

This project is a frontend part of [E-learning backend](https://github.com/phyohtetarkar/hope-elearning-backend/). This project implements micro-frontend architecture built with [Turborepo](https://turbo.build/).

**Features**:


  • - [x] Course Management

  • - [x] Blog Management

  • - [x] Quiz Management

  • - [x] Category

  • - [x] Tag

  • - [x] Course Bookmark

  • - [x] Course Review

  • - [x] User Management

  • - [x] AI powered content editor

  • - [x] Dark mode support

  • - [ ] Subscription

## Requirements


  1. Node.js 18.17 or later

  2. E-learning backend APIs

  3. TinyMCE self-hosted

This project use [TinyMCE](https://www.tiny.cloud/) for some rich text editing. You need to download TinyMCE self-hosted source [here](https://www.tiny.cloud/get-tiny/self-hosted/) and then unzip and place inside **public** folder or you can host anywhere you wish to place. Read more about TinyMCE self-hosted [here](https://www.tiny.cloud/blog/get-started-with-tinymce-self-hosted/).

Required `.env` file properties are inclued inside each apps as `.env.example` file.

## What's inside?

This Turborepo includes the following packages/apps:

### Apps and Packages

- `elearning-web`: E-learning consumer app using [Next.js](https://nextjs.org/)
- `elearning-admin`: E-learning admin app using [Next.js](https://nextjs.org/)
- `@elearning/ui`: UI and other central components shared by both `elearning-web` and `elearning-admin` applications
- `@elearning/lib`: a utility library shared by both `elearning-web` and `elearning-admin` applications
- `@elearning/global-store`: redux global store shared by both `elearning-web` and `elearning-admin` applications
- `@elearning/block-editor`: customized tiptap based AI-powered block editor
- `@elearning/assets`: fonts and images assets
- `@elearning/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
- `@elearning/typescript-config`: `tsconfig.json`s used throughout the monorepo
- `@elearning/tailwind-config`: tailwindcss configuration including base css

### Directory structure

```bash
.
├── apps
│ ├── admin
│ └── web
├── packages
│ ├── assets
│ ├── block-editor
│ ├── config-eslint
│ ├── config-tailwind
│ ├── config-typescript
│ ├── global-store
│ ├── lib
│ └── ui
└── ...
```

### Multi-Zones

[Multi-Zones](https://nextjs.org/docs/app/building-your-application/deploying/multi-zones) is a way of having independent Next.js applications that all render on a common domain. This is a method for building separation of concerns in large teams. It works well if a single domain has separate groupings of pages where a user doesn't navigate between the groups very often.

In this project, ./apps/web is our main app, and ./apps/admin is a separate app that handles all routes for /admin/**.

### Utilities

This Turborepo has some additional tools already setup for you:

- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting

### Build

To build all apps and packages, run the following command:

```
cd elearning-frontend
pnpm build
```

### Develop

To develop all apps and packages, run the following command:

```
cd elearning-frontend
pnpm i
pnpm dev
```

## Support me







## Screenshots