Have you trouble learning a new language? You know the basics of the language but still struggling to build sentences. You have tried lots of apps on Android/IPhone and you feel still as a beginner. That's because you haven't been given the possibility to learn the language reflexes. Everything someone salutes you, you salutes back in the same way you always do. Not because you are thinking what you are saying. It just comes out because you are so used to these words.
This web application will give you the possibility to memorize and train the same sentences over and over again. The features of this project is:
- Implement own sentences in any foreign language.
- Learn how to pronounce them by listen to the media player.
- Learn how to spell each sentence and check if you have spelled correct.
- If you don't know how to spell that sentence, there is an option that you can select so the answers reveals.
- Suitable for mobile, tablet as well as desktop.
Translate French to your language
It will correct you if you enter wrong sentence
You can also do the reverse way
Upload new languages
Here you can modify your database with the sentences
Desktop version
- Begin to create a CSV file
(Format: ISO-8859-1)
that looks like CSV file examples. Go to folder:Source -> Languages
- Download and install
ffmpeg
- Select a desired Youtube video e.g
Learn...by sleeping
- Download that video that you find useful. The video need to have that have a very clear speech from a native speaker
- Cut the video in this example
Where $1
is the start time argument, $2
is how long time the cut should have, $3
is the name of the .mp3
file that being saved.
ffmpeg -ss $1 -i input.mp4 -t $2 "$3".mp3
Example:
ffmpeg -ss 00:12:21 -i YourVideoName.mp4 -t 5 "The food was good".mp3
Collect lots of sentences and collect them all into a .csv
file as I have done. See examples in Source -> Languages
- Go to folder:
Source -> Languages
- Select a CSV file that you like
- Upload it
- Select the same audios and upload them as well. You can find them from folder:
Source -> Audios
- Install Java 11, Maven, NodeJS
Java 11
sudo apt-get install openjdk-11-jdk
Maven
sudo apt-get install maven
NodeJS
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
- Begin first to install MySQL Community Server
sudo apt-get install mysql-server
- Then create a user e.g
myUser
with the password e.gmyPassword
Login and enter your sudo
password or mysql root
password
sudo mysql -u root -p
Create user with the host %
<-- That's important if you want to access your server from other computers.
CREATE USER 'myUser'@'%' IDENTIFIED BY 'myPassword';
Set the privileges to that user
GRANT ALL PRIVILEGES ON *.* TO 'myUser'@'%';
- Change your MySQL server so you listening to your LAN address
Open this file
/etc/mysql/mysql.conf.d/mysqld.conf
And change this
bind-address = 127.0.0.1
To your LAN address where the server is installed on e.g
bind-address = 192.168.1.35
Then restart your MySQL server
sudo /etc/init.d/mysql restart
If you don't know your LAN address, you can type in this command in linux ifconfig
in the terminal
- Download
Memorize-Sentences
Download the Memorize-Sentences
and change the application.properties
in the /src/main/resources
folder.
Here you can set the configuration for your database LAN address, user and password.
# Database
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.datasource.url=jdbc:mysql://yourIPAddressOfTheServerWhereMySQLIsInstalled:3306/MemorizeSentences?createDatabaseIfNotExist=true&serverTimezone=CET
spring.datasource.username=myUser
spring.datasource.password=myPassword
- Run this project
First stand inside of the folder Memorize-Sentences
and write inside your terminal
mvn spring-boot:run -Pproduction
Now you can go to your web browser and type in the local IP address of the computer there you started this application.