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

https://github.com/rr3s1/learnheaven-app

A Learning Management App built with React, Node.js, DynamoDB, AWS S3 and Clerk, featuring dynamic course creation, secure video uploads, user authentication and interactive dashboards.
https://github.com/rr3s1/learnheaven-app

aws aws-ecr aws-lambda clerk-auth docker dynamodb next-js node-js s3-bucket shadcn

Last synced: 2 months ago
JSON representation

A Learning Management App built with React, Node.js, DynamoDB, AWS S3 and Clerk, featuring dynamic course creation, secure video uploads, user authentication and interactive dashboards.

Awesome Lists containing this project

README

          





Project Banner



next.js
aws
clerk
docker
tailwindcss

Learn Heaven - Learning Management App


In this project, I am coding along with EdRoh to build and deploy a full stack Learning Management App using Next.js, AWS, Docker and Clerk.




Project Video


EdRoh's GitHub



## 🤖 Introduction


The Learning Management App is a full-stack application built to handle scalable and enterprise-grade use cases. Combining modern frontend technologies like Next.js, ShadCN, and Redux Toolkit with backend AWS services such as Lambda, DynamoDB, and S3, this app offers seamless functionality and high performance.

If you encounter any issues, the resources and codebase links provided below will help you troubleshoot and learn.

## ⚙️ Tech Stack

**Frontend:**
- Next.js
- Tailwind CSS & ShadCN
- Redux Toolkit & RTK Query
- Framer Motion (Animations)
- React Hook Form & Zod (Form Validation)
- Stripe (Payment Integration)

**Backend:**
- Node.js & Express.js
- AWS Lambda & API Gateway
- DynamoDB
- AWS S3 & CloudFront
- Docker (Containerization)
- Clerk (Authentication)

## 🔋 Features

👉 **Responsive Design**: Fully responsive and optimized for various devices and screen sizes.

👉 **User Authentication**: Simplified with Clerk, offering login, signup, and role-based access.

👉 **Course Management**: Create, edit, and view courses with detailed information and media integration.

👉 **Checkout & Billing**: Secure payment processing with Stripe.

👉 **Dynamic Data Modeling**: Efficient handling of backend data with DynamoDB.

👉 **File Upload & Storage**: S3 integration for storing and retrieving media content.

👉 **Serverless Architecture**: Built for scalability with AWS Lambda and API Gateway.

👉 **Dockerized Deployments**: Consistent development and production environments with Docker.

👉 **Modern Animations**: Smooth and interactive animations using Framer Motion.

👉 **Optimized Frontend Hosting**: Deployed on Vercel for blazing-fast load times.

...and much more, including reusable component-based architecture and clean, scalable code.

## 🤸 Quick Start

Follow these steps to set up the project locally on your machine.

**Prerequisites**

Ensure you have the following installed:
- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/)
- [Docker](https://www.docker.com/)

**Cloning the Repository**

```bash
git clone https://github.com/rr3s1/tutorials-heaven.git
cd TBC
```
More details will be provided at a later date as the project is in an incipient state.

## 🔗 Links

### Resources:
- **Completed Code**: [GitHub Repository](https://github.com/ed-roh/learning-management-app)
- **Diagrams**: [ERDs & Flows](https://www.edroh.com/subscribe/learning-management)
- **Assets**: [Download Assets](https://drive.google.com/drive/folders/1mChm98ccDYXpFXpgyy431u8uk0uLe8M5)

### Frontend Libraries:

- **Hello-Pangea Dnd**: https://github.com/hello-pangea/dnd
- **Shadcn**: https://ui.shadcn.com/docs
- **Shadcn Sonner**: https://ui.shadcn.com/docs/components/sonner
- **Shadcn React Hook Form**: https://ui.shadcn.com/docs/components/form
- **React Hook Form**: https://react-hook-form.com/get-started
- **Zod**: https://zod.dev/?id=table-of-contents
- **Redux Toolkit**: https://redux-toolkit.js.org/
- **Redux Toolkit Query**: https://redux-toolkit.js.org/rtk-query/overview
- **React Filepond**: https://github.com/pqina/react-filepond
- **React Player**: https://github.com/cookpete/react-player
- **Stripe**: https://docs.stripe.com/get-started
- **Stripe GitHub**: https://github.com/stripe/react-stripe-js

Backend Links
- **Local DynamoDB**: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html
- **Nosql Workbench**: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/workbench.settingup.html
- **Postman**: https://www.postman.com/downloads/
- **Dynamoose**: https://dynamoosejs.com/guide/Dynamoose
- **AWS Free Tier**: https://aws.amazon.com/free/
- **AWS S3**: https://aws.amazon.com/s3/
- **AWS Cloudfront**: https://aws.amazon.com/cloudfront/
- **AWS ECR**: https://aws.amazon.com/ecr/
- **Docker**: https://www.docker.com/

## 🤝 Acknowledgments

Massive thanks to EdRoh for the detailed and educational tutorial series.

**EdRoh's Tutorial**: [YouTube](https://www.youtube.com/watch?v=61vSIrg70xM&t=238s&ab_channel=EdRoh)
**Code Repository**: [GitHub](https://github.com/ed-roh/learning-management-app)

## 📄 License

This project is licensed under the MIT License. It is available for educational purposes and can be freely used and modified under the terms of the license.