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
-
Install Docker:
- For Windows: Docker Desktop for Windows
- For macOS: Docker Desktop for Mac
- For Linux: Docker Desktop for Linux
-
Clone the repo
git clone git@github.com:Bonifert/learnSmart.git
-
Create the .env file:
- Copy the
envtemplatefile in the repository and modify the values according to your configuration. Rename the file to.env.
- Copy the
-
Start the application using Docker Compose::
cd learnSmartdocker compose up -d
-
You can access the application: http://localhost/home
- User registration
- Topic and term crud operations
- User authorization and authentication
- Repetition algorithm
- Error messages
- OpenAI integration, generate topic with AI
- Login and register page
- Context:
- User context to store data from the user
- Alert context to give feedback to the user
- Topics page
- Topic info page
- Topic edit page
- Play topic page
- AI topic generator page with definitions
- AI topic generator page with words
- Move authentication endpoints from UserController to authentication controller.
- Implement forgetting curve
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".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request