bdougie / hot

πŸ•The site that recommends the hottest sauce.

Home Page:https://hot.opensauced.pizza

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Open Sauced

πŸ• hot.opensauced.pizza πŸ•

The site that recommends the hottest sauce. Inspried by [daily.dev](https://daily.dev/)

Release Compliance CodeQL Dependabot Badge GitHub code size in bytes GitHub commit activity GitHub issues GitHub Release Discord Twitter

Prerequisites

In order to run the project we need the following software binaries installed on our development machines:

  • node>=16.7.0
  • npm>=8.0.0

We can also use one of the listed cloud providers we support:

πŸ–₯️ Local development

To install the application:

npm ci

To start a local copy of the app on port 3000:

npm start

πŸ§ͺ Test

For running the test suite, use the following command. Since the tests run in watch mode by default, some users may encounter errors about too many files being open. In this case, it may be beneficial to install watchman.

npm test

You can request a coverage report by running the following command:

npm run test:coverage

Writing tests

For writing tests, the rule is move business or service logic to the lib folder and write unit tests. Logic that needs to be in a React component, then leverage tools like Cypress or Vitest mocking to write tests.

πŸ”‘ Database commands

Starting the Supabase Studio locally at localhost:54321:

npm run db:start

If you are adding a new table structure, first do it visually in the Supabase Studio and test locally with the following command:

npm run db:changes

If everything is fine we can run the following command to apply the changes to the database:

npm run db:commit add_table_name

Test migrations are working is to reset the local database:

npm run db:reset

Push changes if everything is fine we can push the changes to the remote database:

npm run db:push

πŸ“¦ Docker builds

A development preview can also be run from docker:

docker build -t open-sauced-hot .
docker run -p 8080:80 open-sauced-hot

Alternatively you can pull the production container and skip all builds:

docker run -dit -p 8080:80 ghcr.io/open-sauced/hot

🎨 Code linting

To check the code and styles quality, use the following command:

npm run lint

This will also display during development, but not break on errors.

To fix the linting errors, use the following command:

npm run format

πŸš€ Production deployment

A production deployment is a complete build of the project, including the build of the static assets.

npm run build

🀝 Contributing

We encourage you to contribute to Open Sauced! Please check out the Contributing guide for guidelines about how to proceed.

We have a commit utility called @open-sauced/conventional-commit that helps you write your commits in a way that is easy to understand and process by others.

It is generally integrated as an npm script but you can run it with npx as well:

npm run push

For any other npm based project or dotnpmrc defaulting to --yes:

npx -y @open-sauced/conventional-commit

πŸ• Community

Got Questions? Join the conversation in our Discord.
Find Open Sauced videos and release overviews on our YouTube Channel.

🎦 Repository Visualization

Visualization of this repository

βš–οΈ LICENSE

MIT Β© Open Sauced

About

πŸ•The site that recommends the hottest sauce.

https://hot.opensauced.pizza

License:MIT License


Languages

Language:TypeScript 87.4%Language:JavaScript 6.8%Language:HTML 3.6%Language:Dockerfile 0.9%Language:CSS 0.8%Language:Shell 0.6%