Skip to content

Latest commit

 

History

History
84 lines (61 loc) · 2.66 KB

challenges.md

File metadata and controls

84 lines (61 loc) · 2.66 KB

Challenges

This is a list of challenges that you can do to earn points. You can do as many or as few as you want. You can also make up your own challenges if you want. The challenges are grouped by theme. You can complete them in any order you like. Each challenge is worth a certain number of points. The more points you earn, the higher your score will be. The highest score wins!

Junior

  • Create a GitHub repository (1pt)
  • Add a favicon (1pt)
  • Add a logo (2pt)
  • Add fancy background/font/colors (2pt)
  • Task hover animation (1pt)
  • Make it so that the most recent task is at the top (2pt)
  • Allow tasks to be removed (2pt)
  • Add a button to clear all tasks (2pt)
  • Use meta tags to make the page SEO friendly (1pt)
  • Make it so that the page works offline (2pt)

Senior

  • Create a GitHub repository (1pt)
  • Store the tasks in localStorage (5pt)
  • Add an about page describing the app and/or yourself (5pt)

  • Add a favicon (1pt)
  • Add a logo (2pt)
  • Add fancy background/font/colors (2pt)
  • Dark/light mode (3pt)
  • Responsive design that looks good on mobile and desktop (3pt)
  • Add different themes (5pt)

  • Task hover animation (1pt)
  • Loading animation (3pt)
  • Show an animation as tasks are removed or added (3pt)

  • Make it so that the most recent task is at the top (2pt)
  • Do something when tasks are double-clicked/double-tapped/swiped (4pt)

  • Allow tasks to be removed (2pt)
  • Add a button to clear all tasks (2pt)
  • Allow tasks to be marked as completed (3pt)
  • Add option to export/import data (3pt)
  • Make the task list sortable (4pt)
  • Enable re-ordering tasks (4pt)
  • Enable creating sub-tasks (4pt)
  • Enable adding a weight/point value to tasks for prioritization (5pt)
  • Add a search bar (5pt)

  • Use meta tags to make the page SEO friendly (1pt)
  • Use open graph so that an embed is shown when you share it on Discord or Twitter (3pt)
  • Add a custom domain (6pt)

  • Make it so that the page works offline (2pt)
  • Make it so that the page has 100% score on Lighthouse (4pt)
  • Deploy the app to a static hosting service such as GitHub Pages, Netlify, or Vercel (5pt)

  • Use the Web Speech API, Web Share API, Web Share Target API, and/or Web Badging API (5pts each)
  • Add auth with GitHub, Google, Discord, or another service (6pt)
  • Store tasks in a database such as Firebase or MongoDB (10pt)

  • Use a linter such as ESLint or Prettier (2pt)
  • Use a CSS preprocessor or framework such as SASS, LESS, or Tailwind (2pt)
  • Use TypeScript (3pt)
  • Use a JavaScript framework such as React, Vue, or Svelte (5pt)
  • Use a static site generator such as Next.js, Astro, Nuxt.js, SvelteKit, or Gatsby (5pt)

  • Add a feature that is not in this list (5pt)