Skip to content

Latest commit

 

History

339 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

learnSmart

About The Project

learnSmart is a full-stack web application designed to help users learn new languages or memorize definitions effectively with AI. Users can register and create personalized learning spaces by creating topics and adding terms with clear definitions. The user can also create topics with the AI. The application utilizes features like flashcards and spaced repetition algorithms to enhance learning and retention.

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. Author

Built With

Frontend:

React
Mui
TypeScript

Smaller libraries:

ZOD
React-hook-form

Backend:

Java
SpringBoot
psql
OpenAI

(back to top)

Getting Started

Prerequisites

Docker
OpenAI
OpenAI api key

Installation

  1. Install Docker:

  2. Clone the repo

    git clone git@github.com:Bonifert/learnSmart.git
  3. Create the .env file:

    • Copy the envtemplate file in the repository and modify the values according to your configuration. Rename the file to .env.
  4. Start the application using Docker Compose::

    cd learnSmart
    docker compose up -d
  5. You can access the application: http://localhost/home

(back to top)

Implemented features:

Backend:

  1. User registration
  2. Topic and term crud operations
  3. User authorization and authentication
  4. Repetition algorithm
  5. Error messages
  6. OpenAI integration, generate topic with AI

Frontend:

  1. Login and register page
  2. Context:
    • User context to store data from the user
    • Alert context to give feedback to the user
  3. Topics page
  4. Topic info page
  5. Topic edit page
  6. Play topic page
  7. AI topic generator page with definitions
  8. AI topic generator page with words

In progress:

Backend:

  1. Move authentication endpoints from UserController to authentication controller.

Future plans

  1. Implement forgetting curve

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this application better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Author

Bonifert András

Github Pages LinkedIn Gmail

(back to top)

About

learnSmart is a full-stack web application designed to help users learn new languages or memorize definitions effectively.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages