/shakesearch

A minimal, clean and beautiful website to help Shakespeare fans to find your beautiful works.

Primary LanguageTypeScript


Shakesearch

Shakesearch

A minimal, clean and beautiful website to help Shakespeare fans to find your beautiful works.

"Find, or not find, that is the question." - ?

PRs Welcome Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.

How to Run?

You don't need env vars because all the data is in the project already.

So just follow the steps below

# Install Dependencies
$ yarn install or yarn

# Run Application (Go to http://localhost:3000/ to see the result)
$ yarn dev

Want to see code quality and lint warnings?

# Install Dependencies if you dont did this already
$ yarn install or yarn

# Run linters using package script
$ yarn lint

# You probably will see this
✔ No ESLint warnings or errors
✨  Done in 3.97s.

Want to check typescript warnings and errors?

# Install Dependencies if you dont did this already
$ yarn install or yarn

# Run linters using package script
$ yarn typecheck

# You probably will see this
yarn run v1.22.11
$ tsc --project tsconfig.json --noEmit
✨  Done in 2.23s.

You want to check the code coverage?

# Install Dependencies if you dont did this already
$ yarn install or yarn

# Run Jest using package script
$ yarn test

# You probably will see this
--------------------------------------|---------|----------|---------|---------|-------------------
File                                  | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------------------------------|---------|----------|---------|---------|-------------------
All files                             |   95.83 |    78.57 |   90.21 |   95.73 |
 components/Footer                    |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
  styles.ts                           |     100 |      100 |     100 |     100 |
 components/Logo                      |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
  styles.ts                           |     100 |      100 |     100 |     100 |
 components/Pagination                |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
  styles.ts                           |     100 |      100 |     100 |     100 |
 components/ResultItem                |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
  styles.ts                           |     100 |      100 |     100 |     100 |
 components/SearchInput               |   74.28 |    44.44 |      50 |   74.28 |
  index.tsx                           |   66.66 |    44.44 |   36.36 |   66.66 | 57-113
  styles.ts                           |   85.71 |      100 |   71.42 |   85.71 | 100,115
 hooks/use-key-down                   |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
 hooks/use-search                     |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
 pages                                |     100 |      100 |     100 |     100 |
  404.tsx                             |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
 pages/sonnets                        |     100 |      100 |     100 |     100 |
  [id].tsx                            |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
 pages/titles                         |     100 |      100 |     100 |     100 |
  [id].tsx                            |     100 |      100 |     100 |     100 |
 templates/404                        |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
  styles.ts                           |     100 |      100 |     100 |     100 |
 templates/Home                       |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
 templates/Layout                     |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
  styles.ts                           |     100 |      100 |     100 |     100 |
 templates/Sonnet                     |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
  styles.ts                           |     100 |      100 |     100 |     100 |
 templates/Sonnets                    |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
 templates/Title                      |     100 |      100 |     100 |     100 |
  index.tsx                           |     100 |      100 |     100 |     100 |
 utils                                |     100 |      100 |     100 |     100 |
  constants.ts                        |     100 |      100 |     100 |     100 |
  database.ts                         |       0 |        0 |       0 |       0 |
 utils/helpers/get-characters         |     100 |      100 |     100 |     100 |
  index.ts                            |     100 |      100 |     100 |     100 |
 utils/helpers/get-contents-sanitized |     100 |      100 |     100 |     100 |
  index.ts                            |     100 |      100 |     100 |     100 |
 utils/helpers/get-sonnets            |     100 |      100 |     100 |     100 |
  index.ts                            |     100 |      100 |     100 |     100 |
 utils/helpers/get-titles             |     100 |      100 |     100 |     100 |
  index.ts                            |     100 |      100 |     100 |     100 |
 utils/helpers/get-works              |     100 |      100 |     100 |     100 |
  index.ts                            |     100 |      100 |     100 |     100 |
 utils/helpers/paginate               |     100 |      100 |     100 |     100 |
  index.ts                            |     100 |      100 |     100 |     100 |
 utils/tests                          |     100 |      100 |     100 |     100 |
  helper.tsx                          |     100 |      100 |     100 |     100 |
--------------------------------------|---------|----------|---------|---------|-------------------

Test Suites: 23 passed, 23 total
Tests:       66 passed, 66 total
Snapshots:   0 total
Time:        3.818 s
Ran all test suites.
✨  Done in 4.81s.

🤝 Contributing

This project is just for Pulley company challenge purposes.

But you can do this:

  • ⭐️ Star the project
  • 🐛 Find and report issues
  • 📥 Submit PRs to help solve issues or add features

Created with ❤︎ by Wendel Freitas