Leif-W / Caspian

Caspian - The world's largest endorheic lake.

Home Page:caspian.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Caspian

Caspian logo

The world's largest endorheic lake.

What's an endorheic lake?

It's a body of water that goes nowhere.

Why? What is this all about?

As a clone demo of a popular marketplace named after the world's largest continental moving body of water, this seemed an appropriate antithesis.

Using

Package managers

Overview of options

  • npm v7 (current) fails to install yarn, firebase, firebase-admin, and many others
  • npm v6 (unmaintained) seems to work without errors
  • yarn v1 installs everything ok, if you can get it outside npm, but convoluted process to upgrade to v1.23, which is no longer developed
  • yarn v2 has unmet peer dependencies for firebase and firebase-admin, and convoluted process to update to v2
  • yarn v3 throws too many errors and fails hard, and convoluted process to upgrade to v3
  • pnpm has unmet peer dependencies, is very fast, and uses less disk space, supports US and British Colonialism by using the stolen Indian Ocean TLD .io

Which to choose?

At the time of writing, only npm v6, and yarn v1 install all dependencies without warnings or errors. However, pnpm has a warning, but otherwise is simpler, faster and uses less disk space. So let's try pnpm.

Next.js Telemetry Opt-Out and Informed Consent

After installation, before running pnpm build, pnpm dev, or pnpm start, you should be informed that Next.js will collect lots of allegedly anonymous telemetry data. Next.js only informs you after the fact that you were opted in by default. In other words, without informed consent. This is my effort to inform you. If you do not consent, run pnpx next telemetry disable. You may also opt-out by setting the environment variable NEXT_TELEMETRY_DISABLED=1. We can not do either of these things for you, as they can only be done on your end. However, the environment variable will be in the .env.local.example file, which you can initially copy to your .env.local file.

Contributing

Git

.gitignore

From time to time, the .gitignore file may need to be updated. Tools evolve, and various cruft will inevitably be left behind as you work on this app. However, do not edit the .gitignore file manually. Instead, for now, edit the util/gitignore.js file (Custom Rules section in the footerText variable), then run the script with node util/gitignore.js or pnpm gitignore. This is a crude script based upon the Toptal .gitignore API, https.get, and fs.writeFileSync, which may be replaced with something more elegant in the future.

Commit messages

Format: [type](scope): short description

Example: βšͺ(info): Create README.md

Use emoji to represent types.

Types:

  • 🟒(fea) a new feature added
  • 🟑(ref) refactor code
  • 🟠(fix) a normal bug fix
  • πŸ”΄(cri) a critical bug fix
  • 🟣(sty) style update
  • πŸ”΅(tes) tests
  • βšͺ(doc) documentation
  • 🟀(cho) maintenance chores
  • ⚫(rem) an old feature removed
  • TODO: Improve emoji. Can you suggest other emoji schemes?
  • TODO: Define scopes. Maybe use other emoji for scopes?

About

Caspian - The world's largest endorheic lake.

caspian.vercel.app


Languages

Language:JavaScript 89.4%Language:CSS 10.6%