https://github.com/maxpou/dictionary-game
:notebook_with_decorative_cover: A dictionary mini game
https://github.com/maxpou/dictionary-game
dictionary-game firebase jamstack semantic-ui vuejs2
Last synced: 3 months ago
JSON representation
:notebook_with_decorative_cover: A dictionary mini game
- Host: GitHub
- URL: https://github.com/maxpou/dictionary-game
- Owner: maxpou
- License: mit
- Created: 2016-12-22T17:31:41.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T17:01:45.000Z (over 2 years ago)
- Last Synced: 2025-01-16T02:29:39.442Z (5 months ago)
- Topics: dictionary-game, firebase, jamstack, semantic-ui, vuejs2
- Language: Vue
- Homepage: https://maxpou.github.io/dictionary-game/
- Size: 4.61 MB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dictionary Game
[](https://travis-ci.org/maxpou/dictionary-game) [](https://standardjs.com) [](https://github.com/facebook/jest) [](https://greenkeeper.io/)
A small web app to improve my english vocabulary.

## [Go to the application](https://maxpou.github.io/dictionary-game/#/)
## What's Included:
* [Vue.js](https://vuejs.org/): an awesome JS Framework ❤️
* [vue-router](https://router.vuejs.org/en/)
* [vuex](https://vuex.vuejs.org/en/): for state management
* [jest](https://facebook.github.io/jest/): for unit testing
* [Firebase](https://console.firebase.google.com/) for authentication + database
* [SemanticUI](http://semantic-ui.com/): CSS Framework.Based on [vue-cli 3](https://github.com/vuejs/vue-cli/blob/dev/docs/README.md#conventions) and follow his file structure/conventions.
## Firebase
This application use Firebase for Authentication and Data storage.
In this project, I use 2 project to separate environments:API ENDPOINTS | Environment
---------------------------------------------- | ------------------
| Production
| Dev / TestDatabase access rules:
```json
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
```Data structure:
```js
├── users/
│ └── {userID}/
| └── words/
│ ├── {wordId}/
│ // example of a word:
│ {
│ content: "a word",
│ enabled: true,
│ translation: "a word translation"
│ }
```**Notes:**
* [Why I don't use array with Firebase](https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html)
* [How to get a Firebase token (official doc)](https://firebase.google.com/docs/reference/rest/database/user-auth)## Dev tools
Available commands:
* `npm run serve`: start a mini HTTP server
* `npm run build` build for production
* `npm run lint`: lint code
* `npm test`: run unit testsMore information in the [official documentation](https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md)
## Deployment
This app is hosted by [Github Pages](https://pages.github.com/) and the Deployment is fulfilled by [Travis CI](https://travis-ci.org/maxpou/dictionary-game) (lint+tests must be green).
## Icons
Icons made by [Flat Icons](https://www.flaticon.com/authors/flat-icons).