This is an Epicodus [http://www.epicodus.com/] student group project
Untranslatable Words - An entertaining and edifying web app that aesthetically presents words or phrases that are impossible to translate.
The Web App is hosted live on Heroku: http://untranslatables.herokuapp.com/
The Book of Life explains the therapeutic value of untranslatable Words: Untranslatable Words http://www.thebookoflife.org/untranslatable-words/ There are lots of moods, needs and feelings that our own language has not yet properly pinned down. The perfect word – even if it comes from abroad – can help us to explain ourselves to other people – and its existence quietly reassures us (and everyone else) that a state of mind is not really rare, just rarely spoken of. The right word brings dignity to our troubles, and helps us identify more accurately what we really like or find annoying.
Untranslatables will enrich your vocabulary, open your eyes, and expand your mind.
Requirement: Participation in creating and presenting a project, and collaborating effectively with teammates.
Component | Action | Parent |
---|---|---|
AppComponent | holds data | -- |
*word-list | List | AppComponent |
*word-input | New | AppComponent |
*Component | Edit | AppComponent |
*Component | Delete | AppComponent |
Database
Table | Row | Value |
---|---|---|
words | name | string |
definition | string | |
language | string | |
category | string | |
partOfSpeech | string | |
sentence | string | |
color | string | |
link | string | |
font | string | |
image | string |
MVP Minimum Viable Product
The MVP for Untranslatables should include:
- At least a dozen untranslatable Words
- A definition of each word with its country of origin
- A complementary image to accompany each word
- An easy way to scroll through or view
- An admin section that is hidden to site users that allows the admin to create, update, and destroy words and images
- A way to sort words
App User
-
As a user of the app:
-
I want to be entertained in an edifying way
-
I want to be able to easily view several untranslatable words with a definition of each word
-
I want to be able to see at least one image that complements each word
-
I want to be able to view the App on a PC, laptop, phone or tablet
-
I want to be able to add words to a favorite list
-
As a site administrator:
-
I want to see a sorted list of all untranslatable words and click on any individual word to go to a detail page for that word
-
I want to be able to create, update, and destroy individual words and images
-
I do not want site visitors to be able to easily find the Admin section of the App (a password sign in for Admin)
Further Explorations
- Include tags for words (like humorous, dark, people or nature) that users can sort by
- Site visitors should be able to share an untranslatable on Facebook, Twitter other social media sites or Email or Print it
- Include categories (like language) that are sortable
- Include phonetic spelling/pronunciation guide for each word
- Include a poetic sentence for each word
- Allow users to recommend additional words and/or make comments
- Users should be able to access the App live on the internet
- The definitions of each word contain descriptions that help us see the world with fresh eyes.
- Create a game where users guess a word based on a definition
- Create a memory game where users try to match two images/definitions
- Allow users to sign up for a regular email with a new word sent to their inbox
- Add country flag to each word
- Link to additional information for each word
- Create a splash page
- Create a color picker for word tiles on the admin page
- Allow users to click on a word and see an image (or an additional image)
$Git clone https://github.com/yasskin/untranslatables.git
2. Install globals for your computer, if needed (gulp, bower, sass, typescript, typescript packages.)
$ npm install gulp -g <!-- only needs to be done once, (already on epicodus machines) -->
$ npm install typescript -g <!-- only needs to be done once, (already on epicodus machines)-->
$ apm install atom-typescript <!-- needs to be done each day on epicodus machines -->
$ brew install mongodb <!-- needs to be done each day on epicodus machines -->
$ mkdir -p /data/db
if permission is denied running previous use this instead at system directory
$ mkdir data && mkdir data/db
ensure that the user account running mongod has read and write permissions for the directory. http://www.macinstruct.com/node/415
if you're unable to create directories at the system level you will need to point to the path of the of the data directory you created
$ mongod --dbpath <path to data directory>
$ npm install <!-- saved into node_modules/ -->
Start gulp in a terminal // gulp compiles typscript into js
$ npm run gulp
Leave gulp running in one terminal and open another terminal and start the server
$ npm start
In a third terminal start the Mongo database sever (leaving the previous two terminals running)
$ mongod --dbpath ~/Desktop/untranslatables/data/db
- Navigate to localhost:3000
- If you want to know about bugs, consult an entomologist. This app knows no bugs
- View the repository on GitHub at: https://github.com/yasskin/untranslatables
If you run into any issues or have questions, ideas, or concerns, please feel free to contact Noah:
- Noah Yasskin: [email protected]
- HTML & CSS
- SASS
- JavaScript
- Node.js
- Gulp
- Bower
- GitHub API
MIT License
The MIT License (MIT) Copyright (c) 2016, Maarja Laineste, Caleb Stokka, Sky Rousse, and Noah Yasskin https://opensource.org/licenses/MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.