Skip to content

πŸ“– A modern and user-friendly app for creating and sharing learning content only based on outer resources, found some great things on the internet then create an amazing Learning Path from them which will guarantee the desired skill.

License

Notifications You must be signed in to change notification settings

AlbertArakelyan/learnfinity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“– Learnfinity Plus

A modern and user-friendly app for creating and sharing Learning Paths written in React/Typescript and Express/Nodejs.

GitHub release (latest by date) Language Platforms License

Screenshot

What is a Learning Path?
A learning path is a structured guide that helps individuals achieve specific educational goals by organizing topics and resources in a logical sequence. It offers several benefits:

  • Provides a clear roadmap for mastering a subject.
  • Breaks down complex topics into manageable steps.
  • Encourages consistent progress and self-paced learning.
  • Facilitates skill development with tailored resources.

πŸ“ About the project

A modern and user-friendly app for creating and sharing learning content only based on outer resources, find some great things on the internet then create an amazing Learning Path from them which will guarantee the desired skill.

πŸ”‘ Key Features

  • Works on Browser
  • Databse in the Cloud for Users
  • Public Learning Path creation
  • Private Learning Path creation
  • Settings and Profile pages
  • Dark Theme 😊

πŸ™ Donations

LearnfinityPlus is a free, open source software developed in my (little) spare time. If you liked the project and would like to support further development, please consider making a small donation, it really helps :)

Buy Me A Coffee

πŸ‘¨β€πŸ’»Contibutors

People who helped the project along the way, thank you to all of you!

Image

🏰 Architecture

Backend

Standard adjusted Node.js + Express.js architecture based on different best practices with very good expressed Data Access Layer. For the database I have used MongoDB with Mongoose ODM.

Frontend

Standard React + Redux with Typescript usage. Has been used a modified View-Container architecture with special hooks providing all the business logic to the Container giving an advantage of not writing prop types and interfaces for each component but extend from the ReturnType of the hook.

Tech Stack

Frontend Backend
Typescript React Redux Testing Library Sass
Nodejs Express MongoDB Mongoose

πŸ“¦ Installation

Note: make sure you have .env created from .env.example with appropriate variables.

Note: Make sure you are using correct node and yarn versions.

Versions

  • node: 20.10.0
  • npm: 10.2.3
  • yarn: 1.22.21

Repo

  • Clone the repo
git clone https://github.com/AlbertArakelyan/learnfinity.git

Server

in server directory

  • Install dependencies
yarn
  • Start the server
yarn dev

The development server will start running at: http://localhost:8000

Client

in client directory

  • Install dependencies
yarn
  • Start the client
yarn start

The development client will start running at: http://localhost:3000

About

πŸ“– A modern and user-friendly app for creating and sharing learning content only based on outer resources, found some great things on the internet then create an amazing Learning Path from them which will guarantee the desired skill.

Topics

Resources

License

Stars

Watchers

Forks