Welcome to Playinglingua Live demo
Want to see the un-released features? Visit canary version
PlayingLingua is a free, non-commercial, open source and cross-platform application which is developed to help people to learn new languages. In PlayingLingua, you play games, earn scores and learn new words. You can either play your own words or other players words. You can also contribute in the word pool or even project code.
Production | Canary | Backend | Front-end |
---|---|---|---|
- Install the latest node version
- Open
cmd
and navigate to./client
directory - Run
npm install
- Run
npm start
- Browse to localhost:4000
run npm run test
Not implemented yet.
- make sure app is running i.e
npm start
- run
npm run e2e
note: Running e2e does not need any backend run.
- Install
Dotnet core SDK > 3
andDotnet core runtime > 3
- Setup environments, the structure of secret.json file is as below, please fill the values if you want to use that service otherwise just leave it empty
{
"ConnectionStrings:playLinguaConnection": "Server=play-lingua.database.windows.net;Database=play-lingua;User Id=SQL SERVER USERNAME;password=SQL SERVER PASSWORD;",
"secret": "",
"hashKey": "FOR HASHING PASSWORDS, CAN BE ANY STRING",
"email:username": "EMAIL USERNAME IN CASE OF SENDING INVITATION EMAIL",
"email:password": "EMAIL PASSWORD IN CASE OF SENDING INVITATION EMAIL",
"googleApiKey": "GOOGLE API KEY IN CASE OF DOWNLOADING SPEECHS"
}
- Navigate to
./server
- Run
dotnet restore
anddotnet run
The database of this project is SQL-Server, to set up and build database locally
- Create a Database and name it
play-lingua
- Run This query
- Setup connection string into
secret.json
ofPlayLingua.Host
project
There are 4 pipelines
- Front-end responsible to build front-end part (Angular) and trigger only when any change push into
./client
directory. The config file - Backend responsible to build backend part (.Net core) and trigger only when any change push into
./server
directory. The config file - Canary responsible to build develop branch on push/merge action and deploy integration of front-end and backend into Canary environment. The config file
- Production responsible to build and deploy Canary version into Production. The config file
We organise branches with feature branch pattern i.e.
- Master : Production branch, always ready to deploy and having the latest stable changes which passed all the pipelines
- Canary : Canary branch, always ready to deploy on canary server. Same as production but in different url and always one version ahead of master
- feature/STORY NAME normal branches which should always start with
feature/
keyword.
As well as we are paying a lot of expenses for managing our servers, backup, domain and etc , your donation is so valuable for us :)
My crypto wallet:
Crypto wallet: 3M6w19ctFyuQGyppX7j7ouqZM96ze3ZEma