pull/319/merge
Rohan j 5 years ago committed by GitHub
commit a347209d70
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

BIN
.DS_Store vendored

Binary file not shown.

1
.gitignore vendored

@ -0,0 +1 @@
.DS_Store

@ -1,12 +1,12 @@
# Application Name # Application Name
**Tier:** Add the corresponding tier (1-Beginner, 2-Intermediate, 3-Advanced) **Tier:** Add corresponding tier (1-Beginner, 2-Intermediate, 3-Advanced)
Add a clear and descriptive description of the application and it's main features. Add a clear description of the application and its main features.
Answer to the following questions: Answer the following questions:
- "What is the main purpose of this application?" - "What is the purpose of this application?"
- "Is there any resource needed in order to complete the project?" - If the answer is yes, make sure you add it. - "Are there any resources needed in order to complete the project?" - If yes, be sure to add it.
## User Stories ## User Stories
@ -25,8 +25,8 @@ Answer to the following questions:
## Useful links and resources ## Useful links and resources
Add all the useful links and resources corresponding to this project. Add useful links and resources corresponding to this project.
## Example projects ## Example projects
Add one or more examples of projects that have similar functionalities to this application. This will act as a guide for the developer. Add one or more examples of projects that have similar functionality to this application. This will act as a developer guide.

@ -39,3 +39,9 @@ Try not to view this until you've developed your own solution:
- [Binary to decimal conversion program for beginners](https://www.youtube.com/watch?v=YMIALQE26KQ) - [Binary to decimal conversion program for beginners](https://www.youtube.com/watch?v=YMIALQE26KQ)
- [Binary to Decimal converter using React](https://github.com/email2vimalraj/Bin2Dec) - [Binary to Decimal converter using React](https://github.com/email2vimalraj/Bin2Dec)
- [Binary to Decimal converter with plain html, js and css](https://grfreire.github.io/Bin2Dec/)
- [Binary to Decimal converter using Flutter & Dart](https://github.com/israelss/AppIdeasCollection/tree/master/Tier1/Bin2Dec)
- [Live preview built with Flutter for Web](https://bin2dec.web.app/#/)
- [Binary to Decimal converter using React](https://github.com/geoffctn/Bin2Dec)
- [Matrix-like Binary to Decimal converter using Angular](https://github.com/ZangiefWins/MatrixBin2Dec)
- [Live preview on heroku](https://matrix-bin2dec.herokuapp.com/)

@ -55,4 +55,5 @@ conversion.
## Example projects ## Example projects
[CSV to JSON Converter](https://codepen.io/JFarrow/pen/CAwyo) - [CSV to JSON Converter](https://codepen.io/JFarrow/pen/CAwyo)
- [JSV Converter](https://gpaiva00.github.io/json-csv)

@ -53,5 +53,10 @@ number.
## Example projects ## Example projects
- [BHMBS - JS-Neumorphic-Calculator](https://barhouum7.github.io/JS-Neumorphic-Calc.github.io/)
- [Javascript iOS Style Calculator](https://codepen.io/ssmkhrj/full/jOWBQqO)
- [Javascript Calculator](https://codepen.io/giana/pen/GJMBEv) - [Javascript Calculator](https://codepen.io/giana/pen/GJMBEv)
- [React Calculator](https://codepen.io/mjijackson/pen/xOzyGX) - [React Calculator](https://codepen.io/mjijackson/pen/xOzyGX)
- [Javascript-CALC](https://github.com/x0uter/javascript-calc)
- [Sample Calculator](https://sevlasnog.github.io/sample-calculator)
- [Python Calculator](https://github.com/kana800/Side-Projects/tree/master/1-Beginner/calculator)

@ -0,0 +1,34 @@
# My calendar
**Tier:** 3-Advanced
Build a calendar application to organize you daily life. Add functionality to add events and reminder.
Style your own calendar according to your requirement
- Understanding how calendar application works
- Only basic understanding of HTML/CSS and JS is required
- Working on more features help you learning advance concepts of JS
## User Stories
- [ ] User can create event
- [ ] User can edit event
- [ ] User can delete event
## Bonus features
- [ ] User can drag events between dates
- [ ] User can set reminder for a event
- [ ] Change theme (light/dark) (play with css), play with css 😄
- [ ] Store data locally so that events does not get deleted when server is restarted
## Useful links and resources
- [Local Storage](https://blog.logrocket.com/the-complete-guide-to-using-localstorage-in-javascript-apps-ba44edb53a36/)
- [MDN](https://developer.mozilla.org/en-US/)
- [Design Ideas](https://dribbble.com/tags/calendar)
## Example projects
- [Simple calendar](https://medium.com/@nitinpatel_20236/challenge-of-building-a-calendar-with-pure-javascript-a86f1303267d)
- [eCalendar](https://github.com/muzhaqi16/eCalendar)

@ -31,3 +31,6 @@ displayed during the Christmas Holidays.
## Example projects ## Example projects
[PureCSSChristmasLights](https://codepen.io/tobyj/pen/QjvEex) [PureCSSChristmasLights](https://codepen.io/tobyj/pen/QjvEex)
[Christmas Lights](https://codepen.io/irfanezani_/pen/mdeLpKo)

@ -34,7 +34,7 @@ an RGB color specification (e.g. `#000000` color code).
## Useful links and resources ## Useful links and resources
[CSS Color Codes](https://www.quackit.com/css/css_color_codes.cfm) [CSS Color Codes](https://qhmit.com/css/css_color_codes.cfm)
## Example projects ## Example projects

@ -0,0 +1,29 @@
# Dollars To Cents
**Tier:** 1-Beginner
Converting dollars to cents would enable you to practice your fundamental knowledge of programming. Loops, if conditions and a simple algorithm will be used.
Your task is to let the user input a dollar value (float), assuming that it can also accept extra cents (ex. $2.75), and convert it into an integer (in this case, if $2.75 = 275). After this, convert into coins with the sub-type of dollars: penny, nickel, dime and quarter. Use an algorithm that would divide the dollar value to the four coin types, and output few coins as possible.
The challenge: Try this without using any frameworks.
(EX. If you have $0.58, I would have 4 coins: 2 quarters, 0 dimes, 1 nickel and 3 pennies)
## User Stories
- [ ] User can enter a dollar value
- [ ] User can see the total cents from the converted dollar value
## Bonus features
- [ ] User can see how many were pennies, nickels, quarters and dimes from the total cents
## Useful links and resources
- [Math functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math)
- [Loops and iterations](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration)
- [Money values in JavaScript](https://timleland.com/money-in-javascript/)
## Example projects
- [Dollars to cents converter](https://github.com/LimonJuice322/Dollars-to-cents-converter)

@ -29,7 +29,7 @@ can test the query logic you'll be adding. You'll be required to hook up
buttons on the web page you build to the `clearDB` and `loadDB` functions, and buttons on the web page you build to the `clearDB` and `loadDB` functions, and
to write your own `queryDB` handler to connect to the `Query DB` button. You'll to write your own `queryDB` handler to connect to the `Query DB` button. You'll
also need to add a `queryAllRows` function to the Customer class. also need to add a `queryAllRows` function to the Customer class.
``` ```js
class Customer { class Customer {
constructor(dbName) { constructor(dbName) {
this.dbName = dbName; this.dbName = dbName;

@ -51,4 +51,5 @@ request('https://www.githubstatus.com/', { json: true }, (err, res, body) => {
## Example projects ## Example projects
[Peter Luczynski's example](https://peterluczynski.github.io/github-status/) - [Peter Luczynski's example](https://peterluczynski.github.io/github-status/)
- [Diogo Moreira's example](https://diogomoreira.github.io/github-status/)

@ -22,10 +22,11 @@ language.
### Constraints ### Constraints
- Developers should use the [IP-API](http://ip-api.com/docs/api:json) service - Developers should use the [IP-API](http://ip-api.com/docs/api:json) service
to obtain the users country code. to obtain the users IP.
- Developers should use the - Developers should use the
[Fourtonfish](https://www.fourtonfish.com/hellosalut/hello/) service to [Fourtonfish](https://www.fourtonfish.com/hellosalut/hello/) service to
obtain the greeting in the users native language by passing the country code. obtain the greeting in the users native language by passing the users IP.
- Developers must use a HTML entities decoding to decode the hello message.
## User Stories ## User Stories
@ -47,8 +48,8 @@ language.
## Bonus features ## Bonus features
- [ ] User can see an additional text input field for a country code which - [ ] User can see an additional text input field for a language code which
will be used to override the country code obtained through geolocation. Hint: will be used to override the IP obtained through geolocation. Hint:
this is a great feature for testing your app. this is a great feature for testing your app.
- [ ] User can see additional geolocation information after logging on that - [ ] User can see additional geolocation information after logging on that
includes at least the local IP address, city, region, country name, zip code, includes at least the local IP address, city, region, country name, zip code,

@ -53,3 +53,4 @@ Try to complete your JSON2CSV implementation before reviewing the example
project(s). project(s).
- [JSON to CSV Converter](https://codepen.io/JFarrow/pen/umjGF) - [JSON to CSV Converter](https://codepen.io/JFarrow/pen/umjGF)
- [JSV Converter](https://gpaiva00.github.io/json-csv)

@ -0,0 +1,26 @@
# Javascript Validation With Regex
**Tier:** 1-Beginner
In this challenge, you'd create a javascript validation script to validate the inputs entered by a user using RegEx.
You could always refer to the [Regular Expression Library](http://regexlib.com/(X(1)A(GijS7qxVy-6Gyc4cweUyFoK4ZvRn2WnlOe8SSKuq9sT7ps-2nbiTmZZMTCn_rFk4-mNoGnYL-DPU8pJhmNNOtkP-syqWE4WO_1aVt4bPa5nTsQPQe6VRAALnm6QW3YIWbYkVS78JFbZN39vmMI1UYiWlHXKwNMB99WjsZOn0qc_8dcN0unp2KMOBw0P__3OH0))/CheatSheet.aspx?AspxAutoDetectCookieSupport=1) for support
For this project, there'd be three required inputs for validation:
- The first would require the user to enter five (5) capital letters, six (6) symbols and two hyphens (-) in any order. This could be used as a password.
- The second which could be used as username would require the user to enter letters without spaces
- The third which could be used as email address would require the user to enter only email addresses on gmail (...@gmail.com).
## User Stories
- [ ] User should be notified of any invalid inputs by error messages displayed on the form.
- [ ] The submit button on the form would never be executed until all entries are validated.
## Useful links and resources
- [Javascript form validation using regular expressions](http://form.guide/snippets/javascript-form-validation-using-regular-expression.html)
- [JavaScript Form Validation Using Regular Expressions](https://study.com/academy/lesson/javascript-form-validation-using-regular-expressions-definition-example.html)
## Example project
- [Native HTML5 validation with CSS & Regex](https://codepen.io/helgesverre/pen/vWRevp)

@ -25,3 +25,4 @@ The Pomodoro Technique is a time management method developed by Francesco Cirill
- [Joe Weaver's example](https://codepen.io/JoeWeaver/pen/bLbbxK) - [Joe Weaver's example](https://codepen.io/JoeWeaver/pen/bLbbxK)
- [FreeCodeCamp Pomodoro Clock example](https://codepen.io/freeCodeCamp/full/XpKrrW) - [FreeCodeCamp Pomodoro Clock example](https://codepen.io/freeCodeCamp/full/XpKrrW)
- [A desktop pomodoro app for menubar/tray.](https://github.com/amitmerchant1990/pomolectron) - [A desktop pomodoro app for menubar/tray.](https://github.com/amitmerchant1990/pomolectron)
- [Sheri Richardson's example](https://srd-pomodoro-timer.netlify.com/)

@ -8,7 +8,7 @@ Conversion rate - the % of the visitors which purchase the product or service.
When you have completed this app and the bonus features try leveling up your When you have completed this app and the bonus features try leveling up your
skills by expanding it to incorporate the features specified in the skills by expanding it to incorporate the features specified in the
[Simple Online Store](./Simple-Online-Store.md). [Simple Online Store](../2-Intermediate/Simple-Online-Store.md).
## User Stories ## User Stories

@ -21,3 +21,4 @@ Generate a random meal from an API.
## Example projects ## Example projects
- [Random Meal Generator by Florin Pop on Codepen](https://codepen.io/FlorinPop17/full/WNeggor) - [Random Meal Generator by Florin Pop on Codepen](https://codepen.io/FlorinPop17/full/WNeggor)
- [Random Meal Generator by ShinSpiegel on github](https://github.com/shinspiegel/random-meal-generator)

@ -0,0 +1,28 @@
# Random-Number-Generator
**Tier:** 1-Beginner
Generate a random number between a range of defined minimun and maximun.
The generator allows the user to use the random property for purposes like games that contains some kind of lottary or for statistics.
## User Stories
- [ ] User can define maximun and minimun values for the random number.
- [ ] User can press the generate button to generate random number.
## Bonus features
- [ ] User can add option for negative values
- [ ] User can add option for decimal numbers
## Useful links and resources
[What's this fuss about true randomness?](https://www.random.org/)
## Example projects
Try not to view this until you've developed your own solution:
- [Example](https://alonjoshua.github.io/random-number-generator/)
- [Project](https://github.com/AlonJoshua/random-number-generator/)

@ -21,5 +21,5 @@ Display multiple images using a slider / carousel.
## Example projects ## Example projects
- [Full Page Slider](https://codepen.io/FlorinPop17/full/zbzbga) - [Full Page Slider](https://codepen.io/FlorinPop17/full/LvOroe)
- [WOWSlider](http://wowslider.com/3d-slider-jquery-fresh-cube-demo.html) - [WOWSlider](http://wowslider.com/3d-slider-jquery-fresh-cube-demo.html)

@ -24,3 +24,4 @@ A stopwatch helps you track the time you spent on activities.
- [Stopwatch by Hilo](https://codepen.io/hilotacker/pen/ONZWoX) - [Stopwatch by Hilo](https://codepen.io/hilotacker/pen/ONZWoX)
- [Stopwatch by Billy Brown](https://codepen.io/_Billy_Brown/pen/dbJeh) - [Stopwatch by Billy Brown](https://codepen.io/_Billy_Brown/pen/dbJeh)
- [Svelte Stopwatch by Gabriele Corti](https://codepen.io/borntofrappe/pen/KKKPZZg)

@ -0,0 +1,26 @@
# Weather App
**Tier:** 1-Beginner
A weather application to get the temperature, weather condition and whether it is day or night of a particular city using `accuweather`. A free weather api.
## User Stories
- [ ] Enter the name of a city into the `input` field.
- [ ] By pressing enter, the user submits the name of the city which updates the `DOM` with the temperature, weather condition, image of day or night and weather condition icon.
## Bonus features
- [ ] By closing the browser window the city name will be stored in localStorage and when the user returns, the name will be retrieved to make an api call to update the `DOM`.
## Useful links and resources
- [localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)
- [accuweather](https://developer.accuweather.com/)
- [axios](https://github.com/axios/axios)
- [bootstrap](https://getbootstrap.com/)
## Example projects
- [Weather App on Codepen](https://codepen.io/tutsplus/pen/gObLaEP) by [George Martsoukos]
- [Coding A Weather App In Pure JavaScipt](https://www.youtube.com/watch?v=ZPG2wGNj6J4)

@ -27,3 +27,4 @@ temperature.
## Example projects ## Example projects
[Wind Chill Calculator](http://www.jsmadeeasy.com/javascripts/Calculators/Wind%20Chill%20Calculator/index.htm) [Wind Chill Calculator](http://www.jsmadeeasy.com/javascripts/Calculators/Wind%20Chill%20Calculator/index.htm)
[Svelte Wind Chill Index by Gabriele Corti](https://codepen.io/borntofrappe/pen/WNNrrJg)

@ -11,33 +11,34 @@ along with its frequency, in descending order by frequency.
## User Stories ## User Stories
- [ ] User can see a text input box, a 'Translate' button, and a word - [ ] User can see a text input box, a 'Translate' button, and a word
frequency table. frequency table.
- [ ] User can enter text (or cut and paste) into the input box. This input - [ ] User can enter text (or cut and paste) into the input box. This input
box must allow the entry of large blocks of text (maximum of 2048 characters). box must allow the entry of large blocks of text (maximum of 2048 characters).
- [ ] User can click the 'Translate' button to analyze the word frequency in - [ ] User can click the 'Translate' button to analyze the word frequency in
the text that has been input. the text that has been input.
- [ ] User can see an error message if the text input box is empty. - [ ] User can see an error message if the text input box is empty.
- [ ] User can see the word frequency table populated when the 'Translate' - [ ] User can see the word frequency table populated when the 'Translate'
button is clicked. Each row in the table contains a word and the number of times button is clicked. Each row in the table contains a word and the number of times
it occurs in the input text. it occurs in the input text.
- [ ] User can see the word frequency table ordered in descending sequence - [ ] User can see the word frequency table ordered in descending sequence
by word frequency. by word frequency.
## Bonus features ## Bonus features
- [ ] User can see a graphical representation of the word frequency in a - [ ] User can see a graphical representation of the word frequency in a
bubble chart, column chart, or any other form of graphical representation the bubble chart, column chart, or any other form of graphical representation the
developer chooses. developer chooses.
- [ ] User may choose to enter the URL of a web page whose content is to be - [ ] User may choose to enter the URL of a web page whose content is to be
analyzed instead of manually entering text. (Hint: See the analyzed instead of manually entering text. (Hint: See the
[Podcast Directory](./Podcast-Directory-App.md) application for ideas). [Podcast Directory](../2-Intermediate/Podcast-Directory-App.md) application for ideas).
## Useful links and resources ## Useful links and resources
- [Bag of Words Model (Wikipedia)](https://en.wikipedia.org/wiki/Bag-of-words_model) - [Bag of Words Model (Wikipedia)](https://en.wikipedia.org/wiki/Bag-of-words_model)
- [Semantic Analysis (Wikipedia)](https://en.wikipedia.org/wiki/Sentiment_analysis) - [Semantic Analysis (Wikipedia)](https://en.wikipedia.org/wiki/Sentiment_analysis)
## Example projects ## Example projects
- [Word Frequency Counter](https://codepen.io/maxotar/pen/aLrwJM) - [Word Frequency Counter](https://codepen.io/maxotar/pen/aLrwJM)
- [Bubble Chart](https://codepen.io/Quendoline/pen/pjELpM) - [Bubble Chart](https://codepen.io/Quendoline/pen/pjELpM)
- [Svelte Word Frequency by Gabriele Corti](https://codepen.io/borntofrappe/pen/QWWWqQM)

@ -73,4 +73,4 @@ search criteria.
## Example projects ## Example projects
[Bitwise Operation](https://codepen.io/Lunoware/pen/XBWEPY) [Bitwise Operation](https://codepen.io/Lunoware/pen/VBZgQd)

@ -0,0 +1,26 @@
# Book Finder App
**Tier:** 2-Intermediate
Create an application that will allow users to search for books by entering a query (Title, Author, etc). Display the resulting books in a list on the page with all the corresponding data.
## User Stories
- [ ] User can enter a search query into an `input` field
- [ ] User can submit the query. This will call an API that will return an array of books with the corresponding data (**Title**, **Author**, **Published Date**, **Picture**, etc)
- [ ] User can see the list of books appearing on the page
## Bonus features
- [ ] For each item in the list add a link that will send the User to an external site which has more information about the book
- [ ] Implement a Responsive Design
- [ ] Add loading animations
## Useful links and resources
You can use the [Google Books API](https://developers.google.com/books/docs/overview)
## Example projects
[Book Finder](https://book-finder-by-deyl.netlify.com/)
[Search Books](https://booksure.netlify.app/)

@ -0,0 +1,33 @@
# Calculator CLI
**Tier:** 2-Intermediate
Create a basic calculator with addition feature.
## User Stories
- [ ] User can add multiple numbers using `add` command.
- [ ] User can add floating numbers using the `-f` flag.
- [ ] User can add only even/odd numbers using `even`/`odd` sub-command.
- [ ] User can use `--help` or `-h` flag to get all the available commands and flags.
> Note: The stories 1 and 2 are basically for static typed language, where passed arguments must be of same type.
## Bonus Features
- [ ] User can use all the basic arithmetic operations like (addition, subtraction, multiplication and divison).
- [ ] User can use `--help` or `-h` flag to get the sub-commands of command.
- [ ] **Power of** and **Square Root of** operation.
## Useful links and resources
- [5 keys to create a killer CLI in Go](https://blog.alexellis.io/5-keys-to-a-killer-go-cli/)
- [How to build a CLI tool in NodeJS ?](https://www.freecodecamp.org/news/how-to-build-a-cli-tool-in-nodejs-bc4f67d898ec/)
- [Build a Command Line Interface (CLI) Application with Node.js](https://codeburst.io/build-a-command-line-interface-cli-application-with-node-js-59becec90e28)
- [Building Beautiful Command Line Interfaces with Python](https://codeburst.io/building-beautiful-command-line-interfaces-with-python-26c7e1bb54df)
- [How to create a CLI in golang with cobra](https://schadokar.dev/posts/how-to-create-a-cli-in-golang-with-cobra/)
- [Building a Network Command Line Interface in Go](https://tutorialedge.net/golang/building-a-cli-in-go/)
## Example projects
- [my-calc](https://github.com/schadokar/my-calc)

@ -30,3 +30,4 @@ When the User clicks on the 2nd card:
- [Flip - card memory game](https://codepen.io/zerospree/full/bNWbvW) - [Flip - card memory game](https://codepen.io/zerospree/full/bNWbvW)
- [Memory Game](https://jdmedlock.github.io/memorygame/) - [Memory Game](https://jdmedlock.github.io/memorygame/)
- [SMB3 Memory Card Game](https://codepen.io/hexagoncircle/full/OXBJxV) - [SMB3 Memory Card Game](https://codepen.io/hexagoncircle/full/OXBJxV)
- [BHMBS - Memory Game](https://barhouum7.github.io/JS-MemoryGame.github.io/)

@ -56,7 +56,7 @@ the relationship between projects and organizations.
- [What is Web Site Conversion?](https://www.marketing91.com/what-is-website-conversion/) - [What is Web Site Conversion?](https://www.marketing91.com/what-is-website-conversion/)
- [Global Giving API](https://www.globalgiving.org/api/) - [Global Giving API](https://www.globalgiving.org/api/)
- Sample JSON for a project returned through the API: - Sample XML for a project returned through the API:
``` ```
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<projects numberFound="26842"> <projects numberFound="26842">

@ -0,0 +1,29 @@
# Chrome Theme Extension
**Tier:** 2-Intermediate
Build your own customized chrome theme extension. You can also add night light (also known as blue light filter) feature that will automatically turn on during the night time so that user's eye won't get stressed while coding whole night or binge watching netflix 😛
- How chrome extension work(behind the scenes).
- Basic understanding of HTML/CSS, JS, JSON is required.
## User Stories
- [ ] User can make a theme according to their own personal color preference
- [ ] This will extremely benefit the people suffering from color blindness.
- [ ] User can install and set it as the default theme.
## Bonus features
- [ ] Deploy extension to chrome store
- [ ] Add a toggle button to control the night sight feature manually
- [ ] Create same extension for multiple browsers like firefox, etc.
## Useful links and resources
- [Getting Started](https://developer.chrome.com/extensions/getstarted)
## Example projects
- [chrome-developer-edition-dark](https://github.com/KeenRivals/chrome-developer-edition-dark)
- [Night Shift(BlueLight Filter)](https://chrome.google.com/webstore/detail/night-shiftbluelight-filt/hkjikimiiojjiiffmgngnkefacpbgajl?hl=en)

@ -0,0 +1,27 @@
# Currency Converter
**Tier:** 2-Intermediate
A currency converter is used to convert an amount in one currency to its corresponding value in another currency using their current exchange rate, for example it can be used to calculate the value of 100 US Dollars in Euros. Current exchange rates are usually provided by banks and other financial service providers, they also (in some cases) offer free and paid APIs for developers to get current and historical exchange rates between two or more currencies.
## User Stories
- [ ] User can enter up to 9 digits to represent the amount to convert in a source input field
- [ ] User can view a sorted list of available currencies and select the currency to convert from in a source drop-down list
- [ ] User can view a sorted list of available currencies and select the currency to convert to in a destination drop-down list
- [ ] User views the value (rounded to two decimal places) of the source amount converted to the destination currency in a single output field as soon as either the input value, the source currency, or the destination currency is changed.
- [ ] User must be alerted if the input is not a number
## Bonus features
- [ ] User should be able to swap the values of the source and destination drop-down lists on the click of a button
## Useful links and resources
- [Free currency converter API](https://free.currencyconverterapi.com/)
- [XE currency converter](https://www.xe.com/)
- [How to use fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) to fetch data
## Example projects
- [Currency Converter](https://acodedoer.github.io/currency-converter/)
- [Currency converter code](https://github.com/acodedoer/currency-converter)

@ -0,0 +1,25 @@
# Game suggestion app
**Tier:** 2-Intermediate
An app where users can create polls where voters can suggest any games available on [IGDB](https://www.igdb.com/) to play on a stream or a gaming get-together. IGDB (Internet Game Data Base) has a handy [API](https://www.igdb.com/api) for getting games and implementing some kind of AJAX search for it would be necessary.
## User Stories
- [ ] User can create polls
- [ ] User can vote on polls (add games)
- [ ] User can see the poll results as a top 10 or 5 list of the most voted games
## Bonus features
- [ ] Poll admin can restrict the voting to a certain tag or genre
- [ ] User can login and see their old polls
## Useful links and resources
- [IGDB API documentation](https://api-docs.igdb.com/)
## Example projects
- [Strawpoll, one of the most popular polling apps](https://www.strawpoll.me/)

@ -0,0 +1,32 @@
# GitHub Profiles
**Tier:** 2-Intermediate
APIs allow you to use the real world data that drives platforms like GitHub. You can communicate with the remote servers and get data that you can use to build an app.
In this project you create a search app that uses GitHub API to retrieve user information when a valid username is input. It should display avatar, username, followers count, repository count, top 4 repositories based on forks and stars.
## User Stories
- [ ] User can enter a username
- [ ] User can click on search button to retrieve information
- [ ] User can see the avatar, username, followers and repository count of searched user
- [ ] User can see the top 4 repositories of searched user
- [ ] User should get an alert if the username is not valid
## Bonus features
- [ ] User can toggle dark/light mode
- [ ] Selected mode should persist when user comes back to the app again
## Useful links and resources
To get the data you need to communicate with GitHub API. you can either
- [Read Docs](https://developer.github.com/v3/)
- [Check API directly](https://api.github.com/users/chaharshivam)
To get data from API you can check [fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) in javascript
## Example projects
- [GitHub profiles](https://github-profiles.netlify.app/) ([repo](https://github.com/GabrielNBDS/GitHub-Profiles))
- [github-profile-search](https://github-profile-search-272901.web.app/) ([repo](https://github.com/guerra08/github-profile-search))

@ -0,0 +1,28 @@
# Image Scanner
**Tier:** 2-Intermediate
Create an android and ios app to find phone numbers, email and website links available in a photo and then organise it in the app.
## User Stories
- [ ] User can either click a photo or upload a photo from the gallery
- [ ] Processing is done on the image.
- [ ] If there are any phone numbers, email or web links present in the image then they are listed in the cards properly organized.
- [ ] On tap on the details, an option is provided to save as contact.
- [ ] History of search results are provided in the list view
## Bonus features
- [ ] Provide an option to add tags for each search results.
- [ ] Add search funtionality based on tags
- [ ] Add login and sync the results across multiple devices.
## Useful links and resources
- Use google OCR to read text from the image uploaded. https://cloud.google.com/vision/docs/ocr
- Apply regex to identify the phone number , emails and website links on the text identified from the OCR.
## Example projects
- Android App for text detection - https://github.com/alexzaitsev/ocr-google-vision

@ -0,0 +1,17 @@
# Name generation using Recurrent Neural Networks
**Tier:** 2-Intermediate
Name Generation is nothing more than a sequence of letters that follow certain patterns to create a certain probability density for choosing the next letter in a name.
This App should utilize a RNN model with LSTM/GRUs to ensure highly likeable naming patterns
## User Stories
- [ ] User can specify the first 2 to 3 letters to be used for the initial name
- [ ] Use can see the generated name and use it accordingly
## Useful links and resources
- [RNN for Pokemon names](https://towardsdatascience.com/generating-pok%C3%A9mon-names-using-rnns-f41003143333)
- [RNN for Dinosaur names](https://datascience-enthusiast.com/DL/Dinosaurus_Island_Character_level_language_model.html)

@ -13,7 +13,7 @@ Generate passwords based on certain characteristics selected by the user.
## Bonus features ## Bonus features
- [ ] Use can see the password strength - [ ] User can see the password strength
## Useful links and resources ## Useful links and resources

@ -2,7 +2,7 @@
**Tier:** 2-Intermediate **Tier:** 2-Intermediate
In the [GitHub Status](./GitHub-Status-App.md) app you learned how to use the In the [GitHub Status](../1-Beginner/GitHub-Status-App.md) app you learned how to use the
Request package to scrape information from a web page. The Podcast Directory Request package to scrape information from a web page. The Podcast Directory
continues this process and introduces you to another web scraping package - continues this process and introduces you to another web scraping package -
[Puppeteer](https://github.com/GoogleChrome/puppeteer). [Puppeteer](https://github.com/GoogleChrome/puppeteer).
@ -81,7 +81,7 @@ run()
.catch(console.error); .catch(console.error);
``` ```
- When you have completed this project check out the advanced project - When you have completed this project check out the advanced project
[MyPodcast Library](./Projects/MyPodcast-Library-app.md) [MyPodcast Library](../3-Advanced/MyPodcast-Library-app.md)
## Example projects ## Example projects

@ -2,7 +2,7 @@
**Tier:** 2-Intermediate **Tier:** 2-Intermediate
In the [First DB App](./First-DB-App.md) you were able to learn the basics of In the [First DB App](../1-Beginner/First-DB-App.md) you were able to learn the basics of
how to use the IndexedDB database that's built into the browser. In Sales how to use the IndexedDB database that's built into the browser. In Sales
Reciepts you'll take this a step further by creating an app that records Reciepts you'll take this a step further by creating an app that records
point of sales receipts, presumably for subsequent balancing against cash in point of sales receipts, presumably for subsequent balancing against cash in

@ -2,7 +2,7 @@
**Tier:** 2-Intermediate **Tier:** 2-Intermediate
In the [Product Landing Page](./Product-Landing-Page.md) project you implemented In the [Product Landing Page](../1-Beginner/Product-Landing-Page.md) project you implemented
a landing page to provide your users with information about a product and to a landing page to provide your users with information about a product and to
hopefully increase your sites conversion rate. hopefully increase your sites conversion rate.
@ -19,23 +19,23 @@ feel free to choose the in memory solution of your choice.
## User Stories ## User Stories
- [ ] User can click on a 'View Products' button on the Landing Page to - [ ] User can click on a `View Products` button on the Landing Page to
display the Products Page. display the Products Page.
- [ ] User can see a card on the Products Page for each - [ ] User can see a card on the Products Page for each
Product showing the product thumbnail, name, price, a short description, Product showing the product thumbnail, name, price, a short description,
and a 'Select' button. and a `Select` button.
- [ ] User can see a Product Details page displayed when the 'Select' button - [ ] User can see a Product Details page displayed when the `Select` button
is clicked showing the same information from the product card, but also a is clicked showing the same information from the product card, but also a
unique product id, a long description, 'Add to Cart' button, and a unique product id, a long description, `Add to Cart` button, and a
'See More Products' button. `See More Products` button.
- [ ] User can see a confirmation message when the product is added to the - [ ] User can see a confirmation message when the product is added to the
shopping cart. shopping cart.
- [ ] User can click on the 'See More Products' page to return to the - [ ] User can click on the `See More Products` page to return to the
Products Page. Products Page.
- [ ] User can see a 'Shopping Cart' button on both the Landing - [ ] User can see a `Shopping Cart` button on both the Landing
Page or the Products Page. Hint: a top bar might be a good common location Page or the Products Page. Hint: a top bar might be a good common location
for this button. for this button.
- [ ] User can click on the 'Shopping Cart' button to display the Shopping - [ ] User can click on the `Shopping Cart` button to display the Shopping
Cart page containing the product id, name, price, and quantity Cart page containing the product id, name, price, and quantity
ordered input box for each product previously added to the Shopping Cart. ordered input box for each product previously added to the Shopping Cart.
- [ ] User can see a total purchase amount on the Shopping Card that is - [ ] User can see a total purchase amount on the Shopping Card that is
@ -43,13 +43,13 @@ calculated as the sum of the quantities multiplied by the unit price for each
product ordered. product ordered.
- [ ] User can adjust the quantity ordered for any product to adjust the - [ ] User can adjust the quantity ordered for any product to adjust the
total purchase amount. total purchase amount.
- [ ] User can click a 'Place Order' button on the Shopping Cart Page to - [ ] User can click a `Place Order` button on the Shopping Cart Page to
complete the order. User will see a confirmation number when the order has been complete the order. User will see a confirmation number when the order has been
placed. placed.
- [ ) User can click a 'Cancel Order' button on the Shopping Cart Page to - [ ] User can click a `Cancel Order` button on the Shopping Cart Page to
cancel the order. User will see the product quantities and the total purchase cancel the order. User will see the product quantities and the total purchase
amount reset to zero. amount reset to zero.
- [ ] User can click a 'See More Products' button on the Shopping Cart Page - [ ] User can click a `See More Products` button on the Shopping Cart Page
to return to the Products Page. If the order hasn't been placed yet this will to return to the Products Page. If the order hasn't been placed yet this will
not clear the products that have already been added to the Products Page. not clear the products that have already been added to the Products Page.

@ -27,3 +27,5 @@ The classic To-Do application where a user can write down all the things he want
- [Todo App built with React](http://todomvc.com/examples/react/#/) - [Todo App built with React](http://todomvc.com/examples/react/#/)
- [To Do List on Codepen](https://codepen.io/yesilfasulye/pen/eJIuF) by [Burak Kaya](https://codepen.io/yesilfasulye/) - [To Do List on Codepen](https://codepen.io/yesilfasulye/pen/eJIuF) by [Burak Kaya](https://codepen.io/yesilfasulye/)
- [Todo App in Plain JavaScript](https://safdarjamal.github.io/todo-app/)
- [Todo App in Golang](https://github.com/schadokar/go-to-do-app)

@ -0,0 +1,29 @@
# Math Formula Editor
**Tier:** 2-Intermediate
An app (desktop or web) which you can use to edit different kinds of math formulas. The app will be particularry useful for doing your math homework digitally.
The app will probably use a math markup system such as LaTeX.
## User Stories
- [ ] User can write to a text document
- [ ] User can add a math formula to that text document
- [ ] User can save the document either to a database or as a file locally
- [ ] User can load the file and all the formulas should be still intact
## Bonus features
- [ ] User can change the font size of text
- [ ] User can change other attributes of text (color, bold, etc.)
- [ ] User can add images to the document
## Useful links and resources
- [Mathquill](http://mathquill.com/)
## Example projects
- [L'math, a math editor for finnish high school students, change the language on the top left corner](https://www.lehtodigital.fi/lmath/?p=download)
- [Online demo of a simple math editor](https://math-demo.abitti.fi)

@ -13,7 +13,7 @@ via a Discord chat.
- [ ] User can start a game by entering `bb start` into the chat - [ ] User can start a game by entering `bb start` into the chat
- [ ] User can target a cell by entering `bb shoot r,c` into the chat window, where `r` and `c` are the row and column coordinates of the cell to be targeted. - [ ] User can target a cell by entering `bb shoot r,c` into the chat window, where `r` and `c` are the row and column coordinates of the cell to be targeted.
- [ ] User can see the game board showing hits and misses displayed by the bot after each shot is taken - [ ] User can see the game board showing hits and misses displayed by the bot after each shot is taken
- [ ] User can see an congratulations message after the shot that sinks the last remaining ship. - [ ] User can see a congratulations message after the shot that sinks the last remaining ship.
## Bonus features ## Bonus features

@ -24,7 +24,7 @@ searched. This will be loaded when the app is started.
a 'Search' button, and a 'Clear' button. a 'Search' button, and a 'Clear' button.
- [ ] User can enter search terms into the food description input text box. - [ ] User can enter search terms into the food description input text box.
- [ ] User can click on the 'Search' button to search for the matching food. - [ ] User can click on the 'Search' button to search for the matching food.
- [ ] User can see and warning message if no search terms were entered. - [ ] User can see a warning message if no search terms were entered.
- [ ] User can see a warning message if no matches were found. - [ ] User can see a warning message if no matches were found.
- [ ] User can see a list of the matching food items, portion sizes, and - [ ] User can see a list of the matching food items, portion sizes, and
calories in a scrollable results panel that is limited to 25 entries. calories in a scrollable results panel that is limited to 25 entries.
@ -43,7 +43,7 @@ data structure other than an array for faster searching.
## Useful links and resources ## Useful links and resources
[MyPyramid Food Raw Data](https://catalog.data.gov/dataset/mypyramid-food-raw-data-f9ed6) [MyPyramid Food Raw Data](https://catalog.data.gov/dataset/mypyramid-food-raw-data)
## Example projects ## Example projects

@ -32,3 +32,4 @@ As a MVP(Minimum Viable Product) you can focus on building the Chat interface. R
## Example projects ## Example projects
- [Chatty2](https://web-chatty.herokuapp.com/) - [Chatty2](https://web-chatty.herokuapp.com/)
- [Simple TCP Socket based Chat application](https://github.com/dularish/Simple-TCP-Socket-based-Chat-App)

@ -2,7 +2,7 @@
**Tier:** 3-Advanced **Tier:** 3-Advanced
In the [Charity Finder](./Charity-Finder-App.md) project you created an app to In the [Charity Finder](../2-Intermediate/Charity-Finder-App.md) project you created an app to
help you locate a charity worthy of your contributions. Once a contribution help you locate a charity worthy of your contributions. Once a contribution
has been made the goal of the Contribution Tracker app is to track it so to has been made the goal of the Contribution Tracker app is to track it so to
provide users with a record of all contributions for use in monitoring how provide users with a record of all contributions for use in monitoring how

@ -26,5 +26,5 @@ Find your next movie or create your watchlist with this App. It include reviews,
## Example projects ## Example projects
[Movie Database App w/ React by Oliver Gomes](http://phobic-heat.surge.sh/) [Movie Database App w/ React by Oliver Gomes](http://phobic-heat.surge.sh/)
[Movie Browser App w/ React&Redux&Bootstrap by Nataliia Pylypenko](https://api-cinema-10d15.firebaseapp.com/) [Movie Browser App w/ React&Redux&Bootstrap by Nataliia Pylypenko](https://api-cinema-10d15.firebaseapp.com/)

@ -2,7 +2,7 @@
**Tier:** 3-Advanced **Tier:** 3-Advanced
In the [GitHub Status](./GitHub-Status-App.md) and [Podcast Directory](./Podcast-Directory-App.md) you learned what web scraping is and how you can In the [GitHub Status](../1-Beginner/GitHub-Status-App.md) and [Podcast Directory](../2-Intermediate/Podcast-Directory-App.md) you learned what web scraping is and how you can
use it as an alternative data source when API's and backend databases aren't use it as an alternative data source when API's and backend databases aren't
available. The _My Podcast Library_ app merges your newfound knowledge of available. The _My Podcast Library_ app merges your newfound knowledge of
web scraping with your frontend skills to extend the simple Podcast Directory web scraping with your frontend skills to extend the simple Podcast Directory

@ -53,7 +53,7 @@ in descending order on the values in the column.
## Useful links and resources ## Useful links and resources
- [Big O Notation (Wikipedia)](https://en.wikipedia.org/wiki/Big_O_notation) - [Big O Notation (Wikipedia)](https://en.wikipedia.org/wiki/Big_O_notation)
- [CSV2JSON](./CSV2JSON-App.md) - [CSV2JSON](../1-Beginner/CSV2JSON-App.md)
- [Exoplanet (Wikipedia)](https://en.wikipedia.org/wiki/Exoplanet) - [Exoplanet (Wikipedia)](https://en.wikipedia.org/wiki/Exoplanet)
- [NASA Exoplanet Archive](https://exoplanetarchive.ipac.caltech.edu/cgi-bin/TblView/nph-tblView?app=ExoTbls&config=planets) - [NASA Exoplanet Archive](https://exoplanetarchive.ipac.caltech.edu/cgi-bin/TblView/nph-tblView?app=ExoTbls&config=planets)

@ -18,7 +18,7 @@ recording of a word the user must then spell using the computer keyboard.
typed in the word input text box typed in the word input text box
- [ ] User can see a confirmation message when the correct word is typed - [ ] User can see a confirmation message when the correct word is typed
- [ ] User can see a message requesting the word be typed again when it is - [ ] User can see a message requesting the word be typed again when it is
spellect incorrectly spelled incorrectly
- [ ] User can see a tally of the number of correct spellings, total number - [ ] User can see a tally of the number of correct spellings, total number
of words attempted, and a percentage of successful entries. of words attempted, and a percentage of successful entries.

@ -94,3 +94,5 @@ Some commercial survey services include:
## Example projects ## Example projects
[Javascript Questionnaire](https://codepen.io/amyfu/pen/oLChg) [Javascript Questionnaire](https://codepen.io/amyfu/pen/oLChg)
[React Survey App](https://chamatt.github.io/survey-web-app/#/) ([Code](https://github.com/chamatt/survey-web-app))

@ -1,25 +0,0 @@
# Book Finder App
**Tier:** 2-Intermediate
Create an application that will allow users to search for books by entering a query (Title, Author, etc). Display the resulting books in a list on the page with all the corresponding data.
## User Stories
- [ ] User can enter a search query into an `input` field
- [ ] User can submit the query. This will call an API that will return an array of books with the corresponding data (**Title**, **Author**, **Published Date**, **Picture**, etc)
- [ ] User can see the list of books appearing on the page
## Bonus features
- [ ] For each item in the list add a link that will send the User to an external site which has more information about the book
- [ ] Implement a Responsive Design
- [ ] Add loading animations
## Useful links and resources
You can use the [Google Books API](https://developers.google.com/books/docs/overview)
## Example projects
[Book Finder](https://book-finder-by-deyl.netlify.com/)

@ -24,6 +24,8 @@ Each project has the following **features**:
3. A list of bonus features that not only improve the base project, but also your skills at the same time (these are optional and should be attempted only after you have completed the required user stories) 3. A list of bonus features that not only improve the base project, but also your skills at the same time (these are optional and should be attempted only after you have completed the required user stories)
4. All the resources and links to help you find what you need to complete the project 4. All the resources and links to help you find what you need to complete the project
Here you can [watch a video about this repository](https://www.youtube.com/watch?v=TNzCfgwIDCY).
## Projects ## Projects
Projects are divided into three tiers based on the knowledge and experience Projects are divided into three tiers based on the knowledge and experience
@ -39,92 +41,106 @@ required to complete them.
### Tier-1: Beginner Projects ### Tier-1: Beginner Projects
| Name | Short Description | Tier | | Name | Short Description | Tier |
| ---------------------------------------------------------------------- | ---------------------------------------------------------- | ---------- | | --------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------- |
| [Bin2Dec](./Projects/Bin2Dec-App.md) | Binary-to-Decimal number converter | 1-Beginner | | [Bin2Dec](./Projects/1-Beginner/Bin2Dec-App.md) | Binary-to-Decimal number converter | 1-Beginner |
| [Border Radius Previewer](./Projects/Border-Radius-Previewer.md) | Preview how CSS3 border-radius values affect an element | 1-Beginner | | [Border Radius Previewer](./Projects/1-Beginner/Border-Radius-Previewer.md) | Preview how CSS3 border-radius values affect an element | 1-Beginner |
| [Calculator](./Projects/Calculator-App.md) | Calculator | 1-Beginner | | [Calculator](./Projects/1-Beginner/Calculator-App.md) | Calculator | 1-Beginner |
| [Christmas Lights](./Projects/Christmas-Lights-App.md) | Simulate a string of Christmas lights | 1-Beginner | | [Christmas Lights](./Projects/1-Beginner/Christmas-Lights-App.md) | Simulate a string of Christmas lights | 1-Beginner |
| [Cause Effect App](./Projects/Cause-Effect-App.md) | Click list item to display item details | 1-Beginner | | [Cause Effect App](./Projects/1-Beginner/Cause-Effect-App.md) | Click list item to display item details | 1-Beginner |
| [Color Cycle](./Projects/Color-Cycle-App.md) | Cycle a color value through incremental changes | 1-Beginner | | [Color Cycle](./Projects/1-Beginner/Color-Cycle-App.md) | Cycle a color value through incremental changes | 1-Beginner |
| [Countdown Timer](./Projects/Countdown-Timer-App.md) | Event Countdown timer | 1-Beginner | | [Countdown Timer](./Projects/1-Beginner/Countdown-Timer-App.md) | Event Countdown timer | 1-Beginner |
| [CSV2JSON App](./Projects/CSV2JSON-App.md) | CSV to JSON converter | 1-Beginner | | [CSV2JSON App](./Projects/1-Beginner/CSV2JSON-App.md) | CSV to JSON converter | 1-Beginner |
| [Dynamic CSS Variables](./Projects/Dynamic-CSSVar-app.md) | Dynamically change CSS variable settings | 1-Beginner | | [Dollars to Cents](./Projects/1-Beginner/Dollars-To-Cents-App.md) | Convert dollars to cents | 1-Beginner |
| [First DB App](./Projects/First-DB-App.md) | Your first Database app! | 1-Beginner | | [Dynamic CSS Variables](./Projects/1-Beginner/Dynamic-CSSVar-app.md) | Dynamically change CSS variable settings | 1-Beginner |
| [Flip Image](./Projects/Flip-Image-App.md) | Change the orientation of images across two axes | 1-Beginner | | [First DB App](./Projects/1-Beginner/First-DB-App.md) | Your first Database app! | 1-Beginner |
| [GitHub Status](./Projects/GitHub-Status-App.md) | Display Current GitHub Status | 1-Beginner | | [Flip Image](./Projects/1-Beginner/Flip-Image-App.md) | Change the orientation of images across two axes | 1-Beginner |
| [Hello](./Projects/Hello-App.md) | User native language greeting | 1-Beginner | | [GitHub Status](./Projects/1-Beginner/GitHub-Status-App.md) | Display Current GitHub Status | 1-Beginner |
| [IOT Mailbox Simulator](./Projects/IOT-Mailbox-App.md) | Use callbacks to check your snail mail | 1-Beginner | | [Hello](./Projects/1-Beginner/Hello-App.md) | User native language greeting | 1-Beginner |
| [JSON2CSV App](./Projects/JSON2CSV-App.md) | JSON to CSV converter | 1-Beginner | | [IOT Mailbox Simulator](./Projects/1-Beginner/IOT-Mailbox-App.md) | Use callbacks to check your snail mail | 1-Beginner |
| [Key Value](./Projects/Key-Value-App.md) | Keyboard Event Values | 1-Beginner | | [JS Input Validation](./Projects/1-Beginner/Javascript-Validation-With-Regex.md) | Script to validate inputs entered by a user using RegEx | 1-Beginner |
| [Lorem Ipsum Generator](./Projects/Lorem-Ipsum-Generator.md) | Generate lorem ipsum placeholder text | 1-Beginner | | [JSON2CSV App](./Projects/1-Beginner/JSON2CSV-App.md) | JSON to CSV converter | 1-Beginner |
| [Notes App](./Projects/Notes-App.md) | Create an online note pad | 1-Beginner | | [Key Value](./Projects/1-Beginner/Key-Value-App.md) | Keyboard Event Values | 1-Beginner |
| [Pearson Regression](./Projects/Pearson-Regression-App.md) | Calculate the correlation coefficient for two sets of data | 1-Beginner | | [Lorem Ipsum Generator](./Projects/1-Beginner/Lorem-Ipsum-Generator.md) | Generate lorem ipsum placeholder text | 1-Beginner |
| [Pomodoro Clock](./Projects/Pomodoro-Clock.md) | Task timer to aid personal productivity | 1-Beginner | | [Notes App](./Projects/1-Beginner/Notes-App.md) | Create an online note pad | 1-Beginner |
| [Product Landing Page](./Projects/Product-Landing-Page.md) | Showcase product details for possible buyers | 1-Beginner | | [Pearson Regression](./Projects/1-Beginner/Pearson-Regression-App.md) | Calculate the correlation coefficient for two sets of data | 1-Beginner |
| [Quiz App](./Projects/Quiz-App.md) | Test your knowledge by answering questions | 1-Beginner | | [Pomodoro Clock](./Projects/1-Beginner/Pomodoro-Clock.md) | Task timer to aid personal productivity | 1-Beginner |
| [Recipe App](./Projects/Recipe-App.md) | Recipe | 1-Beginner | | [Product Landing Page](./Projects/1-Beginner/Product-Landing-Page.md) | Showcase product details for possible buyers | 1-Beginner |
| [Random Meal Generator](./Projects/Random-Meal-Generator.md) | Generate random meals | 1-Beginner | | [Quiz App](./Projects/1-Beginner/Quiz-App.md) | Test your knowledge by answering questions | 1-Beginner |
| [Roman to Decimal Converter](./Projects/Roman-to-Decimal-Converter.md) | Convert Roman to Decimal numbers | 1-Beginner | | [Recipe App](./Projects/1-Beginner/Recipe-App.md) | Recipe | 1-Beginner |
| [Slider Design](./Projects/Slider-Design.md) | Display images using a slider control | 1-Beginner | | [Random Meal Generator](./Projects/1-Beginner/Random-Meal-Generator.md) | Generate random meals | 1-Beginner |
| [Stopwatch App](./Projects/Stopwatch-App.md) | Count time spent on activities | 1-Beginner | | [Random Number Generator](./Projects/1-Beginner/Random-Number-Generator.md) | Generate random number between range. | 1-Beginner |
| [TrueOrFalse](./Projects/True-or-False-App.md) | Identify the result of a conditional comparison | 1-Beginner | | [Roman to Decimal Converter](./Projects/1-Beginner/Roman-to-Decimal-Converter.md) | Convert Roman to Decimal numbers | 1-Beginner |
| [Vigenere Cipher](./Projects/Vigenere-Cipher.md) | Encrypt text using the Vigenere Cypher | 1-Beginner | | [Slider Design](./Projects/1-Beginner/Slider-Design.md) | Display images using a slider control | 1-Beginner |
| [Wind Chill](./Projects/Windchill-App.md) | Calculate the windchill factor from an actual temperature | 1-Beginner | | [Stopwatch App](./Projects/1-Beginner/Stopwatch-App.md) | Count time spent on activities | 1-Beginner |
| [Word Frequency](./Projects/Word-Frequency-App.md) | Calculate word frequency in a block of text | 1-Beginner | | [TrueOrFalse](./Projects/1-Beginner/True-or-False-App.md) | Identify the result of a conditional comparison | 1-Beginner |
| [Vigenere Cipher](./Projects/1-Beginner/Vigenere-Cipher.md) | Encrypt text using the Vigenere Cypher | 1-Beginner |
| [Wind Chill](./Projects/1-Beginner/Windchill-App.md) | Calculate the windchill factor from an actual temperature | 1-Beginner |
| [Word Frequency](./Projects/1-Beginner/Word-Frequency-App.md) | Calculate word frequency in a block of text | 1-Beginner |
| [Weather App](./Projects/1-Beginner/Weather-App.md) | Get the temperature, weather condition of a city. | 1-Beginner |
### Tier-2: Intermediate Projects ### Tier-2: Intermediate Projects
| Name | Short Description | Tier | | Name | Short Description | Tier |
| ------------------------------------------------------------------ | -------------------------------------------------- | -------------- | | --------------------------------------------------------------------------------- | -------------------------------------------------- | -------------- |
| [Bit Masks](./Projects/Bit-Masks-App.md) | Using Bit Masks for Conditions | 2-Intermediate | | [Bit Masks](./Projects/2-Intermediate/Bit-Masks-App.md) | Using Bit Masks for Conditions | 2-Intermediate |
| [Book Finder App](./Projects/Book-Finder-App.md) | Search for books by multiple criteria | 2-Intermediate | | [Book Finder App](./Projects/2-Intermediate/Book-Finder-App.md) | Search for books by multiple criteria | 2-Intermediate |
| [Card Memory Game](./Projects/Card-Memory-Game.md) | Memorize and match hidden images | 2-Intermediate | | [Calculator CLI](./Projects/2-Intermediate/Calculator-CLI.md) | Create a basic calculator cli. | 2-Intermediate |
| [Charity Finder App](./Projects/Charity-Finder-App.md) | Find a Global Charity to donate to | 2-Intermediate | | [Card Memory Game](./Projects/2-Intermediate/Card-Memory-Game.md) | Memorize and match hidden images | 2-Intermediate |
| [Drawing App](./Projects/Drawing-App.md) | Create digital artwork on the web | 2-Intermediate | | [Charity Finder App](./Projects/2-Intermediate/Charity-Finder-App.md) | Find a Global Charity to donate to | 2-Intermediate |
| [Emoji Translator App](./Projects/Emoji-Translator-App.md) | Translate sentences into Emoji | 2-Intermediate | | [Chrome Theme Extension](./Projects/2-Intermediate/Chrome-Theme-Extension.md) | Build your own chrome theme extention. | 2-Intermediate |
| [Flashcards App](./Projects/FlashCards-App.md) | Review and test your knowledge through Flash Cards | 2-Intermediate | | [Currency Converter](./Projects/2-Intermediate/Currency-Converter.md) | Convert one currency to another. | 2-Intermediate |
| [Flip Art App](./Projects/Flip-Art-App.md) | Animate a set of images | 2-Intermediate | | [Drawing App](./Projects/2-Intermediate/Drawing-App.md) | Create digital artwork on the web | 2-Intermediate |
| [HighStriker Game](./Projects/HighStriker-Game.md) | Highstriker strongman carnival game | 2-Intermediate | | [Emoji Translator App](./Projects/2-Intermediate/Emoji-Translator-App.md) | Translate sentences into Emoji | 2-Intermediate |
| [Markdown Previewer](./Projects/Markdown-Previewer.md) | Preview text formatted in GitHub flavored markdown | 2-Intermediate | | [Flashcards App](./Projects/2-Intermediate/FlashCards-App.md) | Review and test your knowledge through Flash Cards | 2-Intermediate |
| [Markdown Table Generator](./Projects/Markdown-Table-Generator.md) | Convert a table into Markdown-formatted text | 2-Intermediate | | [Flip Art App](./Projects/2-Intermediate/Flip-Art-App.md) | Animate a set of images | 2-Intermediate |
| [Meme Generator App](./Projects/Meme-Generator-App.md) | Create custom memes | 2-Intermediate | | [Game Suggestion App](./Projects/2-Intermediate/Game-Suggestion-App.md) | Create polls to decide what games to play | 2-Intermediate |
| [Password Generator](./Projects/Password-Generator.md) | Generate random passwords | 2-Intermediate | | [GitHub Profiles](./Projects/2-Intermediate/GitHub-Profiles.md) | A GitHub user search App | 2-Intermediate |
| [Podcast Directory](./Projects/Podcast-Directory-App.md) | Directory of favorite podcasts | 2-Intermediate | | [HighStriker Game](./Projects/2-Intermediate/HighStriker-Game.md) | Highstriker strongman carnival game | 2-Intermediate |
| [QR Code Badge Generator](./Projects/QRCode-Badge-App.md) | Encode badge info in a QRcode | 2-Intermediate | | [Image Scanner](./Projects/2-Intermediate/Image-Scaner.md) | Image Scanner App | 2-Intermediate |
| [Regular Expression Helper](./Projects/RegExp-Helper-App.md) | Test Regular Expressions | 2-Intermediate | | [Markdown Previewer](./Projects/2-Intermediate/Markdown-Previewer.md) | Preview text formatted in GitHub flavored markdown | 2-Intermediate |
| [Sales Reciepts App](./Projects/Sales-DB-App.md) | Record Sales Receipts in a DB | 2-Intermediate | | [Markdown Table Generator](./Projects/2-Intermediate/Markdown-Table-Generator.md) | Convert a table into Markdown-formatted text | 2-Intermediate |
| [Simple Online Store](./Projects/Simple-Online-Store.md) | Simple Online Store | 2-Intermediate | | [Math Editor](./Projects/2-Intermediate/math-editor.md) | A math editor for students to use | 2-Intermediate |
| [Sports Bracket Generator](./Projects/Sports-Bracket-Generator.md) | Generate a sports bracket diagram | 2-Intermediate | | [Meme Generator App](./Projects/2-Intermediate/Meme-Generator-App.md) | Create custom memes | 2-Intermediate |
| [String Art](./Projects/String-Art.md) | An animation of moving, colored strings | 2-Intermediate | | [Name Generation using RNNs](./Projects/2-Intermediate/Name-Generator.md) | Generate names using names dataset | 2-Intermediate |
| [This or That Game](./Projects/This-or-That-Game.md) | This or That Game | 2-Intermediate | | [Password Generator](./Projects/2-Intermediate/Password-Generator.md) | Generate random passwords | 2-Intermediate |
| [Timezone Slackbot](./Projects/Timezone-Slackbot.md) | Display Team Timezones | 2-Intermediate | | [Podcast Directory](./Projects/2-Intermediate/Podcast-Directory-App.md) | Directory of favorite podcasts | 2-Intermediate |
| [To-Do App](./Projects/To-Do-App.md) | Manage personal to-do tasks | 2-Intermediate | | [QR Code Badge Generator](./Projects/2-Intermediate/QRCode-Badge-App.md) | Encode badge info in a QRcode | 2-Intermediate |
| [Typing Practice](./Projects/Typing-Practice-App.md) | Typing Practice | 2-Intermediate | | [Regular Expression Helper](./Projects/2-Intermediate/RegExp-Helper-App.md) | Test Regular Expressions | 2-Intermediate |
| [Voting App](./Projects/Voting-App.md) | Voting App | 2-Intermediate | | [Sales Reciepts App](./Projects/2-Intermediate/Sales-DB-App.md) | Record Sales Receipts in a DB | 2-Intermediate |
| [Simple Online Store](./Projects/2-Intermediate/Simple-Online-Store.md) | Simple Online Store | 2-Intermediate |
| [Sports Bracket Generator](./Projects/2-Intermediate/Sports-Bracket-Generator.md) | Generate a sports bracket diagram | 2-Intermediate |
| [String Art](./Projects/2-Intermediate/String-Art.md) | An animation of moving, colored strings | 2-Intermediate |
| [This or That Game](./Projects/2-Intermediate/This-or-That-Game.md) | This or That Game | 2-Intermediate |
| [Timezone Slackbot](./Projects/2-Intermediate/Timezone-Slackbot.md) | Display Team Timezones | 2-Intermediate |
| [To-Do App](./Projects/2-Intermediate/To-Do-App.md) | Manage personal to-do tasks | 2-Intermediate |
| [Typing Practice](./Projects/2-Intermediate/Typing-Practice-App.md) | Typing Practice | 2-Intermediate |
| [Voting App](./Projects/2-Intermediate/Voting-App.md) | Voting App | 2-Intermediate |
### Tier-3: Advanced Projects ### Tier-3: Advanced Projects
| Name | Short Description | Tier | | Name | Short Description | Tier |
| -------------------------------------------------------------- | ------------------------------------------------------------------- | ---------- | | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------- |
| [Battleship Bot](./Projects/Battleship-Bot.md) | Create a Discord bot that plays Battleship | 3-Advanced | | [Battleship Bot](./Projects/3-Advanced/Battleship-Bot.md) | Create a Discord bot that plays Battleship | 3-Advanced |
| [Battleship Game Engine](./Projects/Battleship-Game-Engine.md) | Create a callable engine to play the Battleship game | 3-Advanced | | [Battleship Game Engine](./Projects/3-Advanced/Battleship-Game-Engine.md) | Create a callable engine to play the Battleship game | 3-Advanced |
| [Boole Bots Game](./Projects/Boole-Bot-Game.md) | Battling Bots driven by Boolean algebra | 3-Advanced | | [Boole Bots Game](./Projects/3-Advanced/Boole-Bot-Game.md) | Battling Bots driven by Boolean algebra | 3-Advanced |
| [Calorie Counter](./Projects/Calorie-Counter-App.md) | Calorie Counter Nutrition App | 3-Advanced | | [Calendar](./Projects/1-Beginner/Calendar-App.md) | Create your own Calendar | 3-Advanced |
| [Chat App](./Projects/Chat-App.md) | Real-time chat interface | 3-Advanced | | [Calorie Counter](./Projects/3-Advanced/Calorie-Counter-App.md) | Calorie Counter Nutrition App | 3-Advanced |
| [Elevator](./Projects/Elevator-App.md) | Elevator simulator | 3-Advanced | | [Chat App](./Projects/3-Advanced/Chat-App.md) | Real-time chat interface | 3-Advanced |
| [Fast Food Simulator](./Projects/FastFood-App.md) | Fast Food Restaurant Simulator | 3-Advanced | | [Contribution Tracker App](./Projects/3-Advanced/Contribution-Tracker-App.md) | Track funds donated to charity | 3-Advanced |
| [Instagram Clone](./Projects/Instagram-Clone-App.md) | A clone of Facebook's Instagram app | 3-Advanced | | [Elevator](./Projects/3-Advanced/Elevator-App.md) | Elevator simulator | 3-Advanced |
| [GitHub Timeline](./Projects/GitHub-Timeline-App.md) | Generate a timeline of a users GitHub Repos | 3-Advanced | | [Fast Food Simulator](./Projects/3-Advanced/FastFood-App.md) | Fast Food Restaurant Simulator | 3-Advanced |
| [Kudos Slackbot](./Projects/Kudos-Slackbot.md) | Give recognition to a deserving peer | 3-Advanced | | [Instagram Clone](./Projects/3-Advanced/Instagram-Clone-App.md) | A clone of Facebook's Instagram app | 3-Advanced |
| [Movie App](./Projects/Movie-App.md) | Browse, Find Ratings, Check Actors and Find you next movie to watch | 3-Advanced | | [GitHub Timeline](./Projects/3-Advanced/GitHub-Timeline-App.md) | Generate a timeline of a users GitHub Repos | 3-Advanced |
| [MyPodcast Library](./Projects/MyPodcast-Library-app.md) | Create a library of favorite podcasts | 3-Advanced | | [Kudos Slackbot](./Projects/3-Advanced/Kudos-Slackbot.md) | Give recognition to a deserving peer | 3-Advanced |
| [NASA Exoplanet Query](./Projects/NASA-Exoplanet-Query.md) | Query NASA's Exoplanet Archive | 3-Advanced | | [Movie App](./Projects/3-Advanced/Movie-App.md) | Browse, Find Ratings, Check Actors and Find you next movie to watch | 3-Advanced |
| [Shell Game](./Projects/Shell-Game.md) | Animated shell game | 3-Advanced | | [MyPodcast Library](./Projects/3-Advanced/MyPodcast-Library-app.md) | Create a library of favorite podcasts | 3-Advanced |
| [Shuffle Deck](./Projects/Shuffle-Deck-App.md) | Evaluate different algorithms for shuffling a card deck | 3-Advanced | | [NASA Exoplanet Query](./Projects/3-Advanced/NASA-Exoplanet-Query.md) | Query NASA's Exoplanet Archive | 3-Advanced |
| [Slack Archiver](./Projects/Slack-Archiver.md) | Archive Slack Messages | 3-Advanced | | [Shell Game](./Projects/3-Advanced/Shell-Game.md) | Animated shell game | 3-Advanced |
| [Spell-It App](./Projects/SpellIt-App.md) | A twist on the classic Speak N Spell game | 3-Advanced | | [Shuffle Deck](./Projects/3-Advanced/Shuffle-Deck-App.md) | Evaluate different algorithms for shuffling a card deck | 3-Advanced |
| [Survey App](./Projects/Survey-App.md) | Define, conduct, and view a survey | 3-Advanced | | [Slack Archiver](./Projects/3-Advanced/Slack-Archiver.md) | Archive Slack Messages | 3-Advanced |
| [Spell-It App](./Projects/3-Advanced/SpellIt-App.md) | A twist on the classic Speak N Spell game | 3-Advanced |
| [Survey App](./Projects/3-Advanced/Survey-App.md) | Define, conduct, and view a survey | 3-Advanced |
## Plans for the future ## Plans for the future
@ -151,9 +167,13 @@ Do you have any suggestions on how we could improve this project overall? Let us
### Main Contributors 🙂🙂 ### Main Contributors 🙂🙂
- **Florin Pop**: [Twitter](https://twitter.com/florinpop1705) - [website](https://florin-pop.com). - **Florin Pop**: [Twitter](https://twitter.com/florinpop1705) - [YouTube Channel](https://youtube.com/florinpop) - [website](https://florin-pop.com).
- **Jim Medlock**: [Twitter](https://twitter.com/jd_medlock) - [articles](https://medium.com/@jdmedlock) - **Jim Medlock**: [Twitter](https://twitter.com/jd_medlock) - [articles](https://medium.com/@jdmedlock)
## Weekly Coding Challenge 🚀 ## 100Days100Projects 🚀
As a bonus, I created the [#100Days100Projects challenge](https://www.florin-pop.com/blog/2019/09/100-days-100-projects). You can find in there 100 more ideas of smaller projects. Enjoy! 😄
## Stars history
As a bonus, there's a Weekly Coding Challenge where you can learn more by practicing your skills on real-world projects. Read [The Complete Guide](https://www.florin-pop.com/blog/2019/03/weekly-coding-challenge/) to find out how you can participate! 😄 [![Stargazers over time](https://starchart.cc/florinpop17/app-ideas.svg)](https://starchart.cc/florinpop17/app-ideas)

Loading…
Cancel
Save