# Projects

## Mini Project 1 - Create a static html bio page and customise its style with CSS

* Topics: html, css
* Requirements:
  * create nice-looking static html page
  * topic/content: a topic of their choice \(e.g. climate change, sports, movies\)
* Sample websites:
  * [http://davified.github.io/week1-mini-project/](http://davified.github.io/week1-mini-project/)
  * pick some website designs from [https://www.sketchappsources.com/tag/web.html](https://www.sketchappsources.com/tag/web.html)

## Mini Project 2 - ES6 stickies

* Instructions: [https://codelabs.developers.google.com/codelabs/chrome-es2015/index.html](https://codelabs.developers.google.com/codelabs/chrome-es2015/index.html)
* Tasks
  * Refactor ES5 code to ES6
  * Follow instructions in link
  * Bonus:
    * customize css style and make this your own showcaseable project
* Tips
  * Don't change the implementation/behaviour of each function. Only change ES5 syntax to ES6 syntax
  * `SomeClass.prototype.someFunc` is the ES5 way of defining instance methods. You should refactor this using the class and instance methods syntax
* Prerequisite knowledge
  * HTML, CSS
  * ES5 and ES6 JavaScript
  * Web Components
* Benefits
  * A project that you can show off to your potential employers
  * Independent learning
  * Practice ES6
  * Practice CSS

## Mini Project 3 - Build a chatbot with expressjs

* telegram:
  * [https://core.telegram.org/api](https://core.telegram.org/api)
  * [https://blog.frederikring.com/articles/telegram-bot-express-js/](https://blog.frederikring.com/articles/telegram-bot-express-js/)
* facebook:
  * [https://developers.facebook.com/docs/messenger-platform](https://developers.facebook.com/docs/messenger-platform)
* ideas
  * a chatbot that monitors blog posts and sends them to people in a channel
  * a chatbot that provides info on discounts \(for meals, shopping, etc\)
  * a chatbot to announce meetups tomorrow and encourage people to go together
  * a chatbot to announce volunteering opportunities
  * a chatbot to monitor something/anything using webhook

