Create meaningful mental images to remember Mandarin characters forever!
Table of Contents
One of the most important parts of language learning is being able to remember massive amounts of words and phrases, and especially with a system like Mandarin where characters give few clues to their meaning, the ability to recall their sound and function becomes essential.
PinyImage leverages your brain's natural ability to recall visual information to enhance and speed up character memorization. Tying character appearance to its meaning and sound using a mental image with familiar objects and feelings will store a character more strongly in your mind, ultimately leading to a better mastery of the Chinese language!
- React
- Node.js
- Bootstrap
- Masonry layout
- SQLite
- tilt.js
- Cohere AI API
-
Clone the repo
git clone https://github.com/evan-thoms/pinyImage.git cd pinyImage -
Backend Setup
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Environment Configuration
# Copy the example environment file cp env.example .env # Edit .env and add your API keys # Choose either COHERE_API_KEY or OPENAI_API_KEY
-
Frontend Setup
cd ../frontend npm install
-
Start the backend server
cd backend source venv/bin/activate # On Windows: venv\Scripts\activate python main.py
-
Start the React frontend (in a new terminal)
cd frontend npm start -
Open your browser and navigate to http://localhost:3000
-
Input a Mandarin character and review the AI-generated mnemonic
-
Save desired responses to create study cards
-
Use the search functionality to filter through your saved cards
- Fork this repository
- Connect your fork to Render
- Create a new Web Service
- Add environment variables in Render dashboard:
COHERE_API_KEYorOPENAI_API_KEYFLASK_ENV=production
- Deploy automatically
- Install Heroku CLI
- Create a new Heroku app
- Add environment variables:
heroku config:set COHERE_API_KEY=your_key_here heroku config:set FLASK_ENV=production
- Deploy:
git push heroku main
Run the API tests:
cd backend
python test_api.pyAny contributions you make are greatly appreciated.
If you have a suggestion that would make this 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
Distributed under the MIT License. See LICENSE.txt for more information.
Evan Thoms - evanthoms@outlook.com
Project Link: https://github.com/evan-thoms/pinyImage