Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: new app design #143

Merged
merged 29 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
736d0db
feat: footer and menu (#88)
BalogunofAfrica Mar 19, 2024
7039588
Search component (#87)
0tuedon Mar 26, 2024
fda9148
Style/home page (#93)
IgboPharaoh Mar 27, 2024
e768fa0
UI revamp/sidebar (#91)
Emmanuel-Develops Mar 28, 2024
ad97be7
fixes for home page search (#95)
IgboPharaoh Mar 29, 2024
b7176b6
feat: new nav bar (#92)
BalogunofAfrica Apr 2, 2024
34d1033
Changed FONT to GEIST (#97)
0tuedon Apr 2, 2024
10a50c0
Font fix (#98)
Emmanuel-Develops Apr 2, 2024
e907683
feat: dark mode (#99)
BalogunofAfrica Apr 3, 2024
9b04834
Styling fixes (#101)
Emmanuel-Develops Apr 5, 2024
18508f1
Styling fixes (#102)
Emmanuel-Develops Apr 9, 2024
4f36bd7
Result UI and Functionality bugs (Search component) (#100)
0tuedon Apr 9, 2024
1e3aa96
feat: add search domain favicon (#104)
BalogunofAfrica Apr 9, 2024
ad4f39b
Enhance documentation (#94)
kouloumos May 8, 2024
6962436
fix: UI cleanups (#105)
Emmanuel-Develops Jun 10, 2024
03ad11e
feat: optional email requirement (#123)
Emmanuel-Develops Jun 11, 2024
f9d70e2
fix: rm replaceAll new lines to empty string, handled by parser (#125)
Emmanuel-Develops Jun 13, 2024
345c7a4
Remap gnusha (#124)
Emmanuel-Develops Jun 13, 2024
08c2bfa
fix: single footer, padding bottom isolated to search in layout (#126)
Emmanuel-Develops Jun 20, 2024
1a4f4f2
rm conditional footer render (#128)
Emmanuel-Develops Jun 24, 2024
9e520e7
Art review (#127)
Emmanuel-Develops Jun 24, 2024
9e2687d
Chore/code lint (#129)
Emmanuel-Develops Jun 26, 2024
e958933
fix: text and logic enhancements (#132)
IgboPharaoh Jun 26, 2024
ff81031
feat: add error boundary component (#134)
IgboPharaoh Jun 26, 2024
d2f83da
style: make pagination component width of Holocat card (#135)
IgboPharaoh Jun 26, 2024
b2a0ad1
feat: add 404 page component (#136)
Extheoisah Jun 26, 2024
ce5eb38
fix: UI color and text inconsistencies (#139)
Extheoisah Jul 11, 2024
47c973b
chore: fix sentence case text in no result component (#140)
Extheoisah Jul 15, 2024
c116afe
fix: update Greg maxwell author name in engine.json and dummy.ts file…
Extheoisah Jul 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
{
"extends": ["next", "next/core-web-vitals"]
"env": {
"browser": true,
"node": true
},
"extends": ["next/core-web-vitals", "next", "prettier"],
"plugins": ["prettier"],
"rules": {
"prettier/prettier": "warn",
"react/prop-types": ["off"],
"no-console": ["warn", { "allow": ["warn", "error"] }],
"no-unused-vars": [
"warn",
{ "vars": "all", "args": "none", "ignoreRestSiblings": false }
],
"eol-last": ["warn", "always"],
"react/react-in-jsx-scope": "off"
}
}
29 changes: 29 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Lint Code

on:
push:
branches: [main, staging]
pull_request:
branches: [main, staging]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Set up Yarn
run: corepack enable

- name: Install dependencies
run: yarn install

- name: Run linter
run: yarn lint && yarn prettier:check
9 changes: 9 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": false,
"endOfLine": "lf",
"bracketSpacing": true,
"arrowParens": "always"
}
7 changes: 7 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
code-check:
yarn lint
yarn prettier:check

code-fix:
yarn lint:fix
yarn prettier:fix
17 changes: 7 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
BTC TECHNICAL MATERIALS SEARCH
![bitcoin-search-home](https://github.com/bitcoinsearch/bitcoinsearch-app/assets/18506343/65833946-63a2-400e-9e91-023f96cac9b2)

This project will serve as a search engine for searching Bitcoin technical related materials. It will aggregate all Bitcoin related materials and performs search on those materials instead of going through thousands of unrelated Google search results.
# Welcome to Bitcoin Search

It will classify materials according to:
## Features

- Relevance
- Domains
- Tags
- Authors
- **Elasticsearch Integration**: Directly interfaces with Elasticsearch, leveraging the dataset curated and indexed by the [scraper](https://github.com/bitcoinsearch/scraper). This integration facilitates robust full-text search capabilities, supporting complex queries, filters (authors, domains), and sorting options.
- **URL-Driven Search State**: Manages the search state through URL parameters using NextJS's router, enabling shareable search URLs and intuitive user navigation.
- **Proxy Server for Security**: Implements a [server-side proxy layer](src/pages/api/elasticSearchProxy/search.ts) for Elasticsearch queries, abstracting away direct access to the Elasticsearch cluster and enriching queries with necessary filters and parameters.

---

## Getting started
## Getting started

The search engine is built using NextJS and connects to elasticsearch

Expand Down
22 changes: 20 additions & 2 deletions next.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,24 @@
const mapping = require("./src/config/mapping.json");
const domains = [
...new Set(
Object.keys(mapping.labels).map((domain) => new URL(domain).hostname)
),
];

/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
}
images: {
// domain mapping is not an exhaustive list of all the domains we have
// domains,
// allow favicon from any indexed domain for now
remotePatterns: [
{
protocol: "https",
hostname: "**",
},
],
},
};

module.exports = nextConfig
module.exports = nextConfig;
12 changes: 8 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
"dev": "GENERATE_SOURCEMAP=false next dev",
"build": "GENERATE_SOURCEMAP=false next build",
"start": "GENERATE_SOURCEMAP=false next start",
"lint": "next lint"
"lint": "next lint",
"lint:fix": "next lint --fix",
"prettier:check": "prettier --check . --ignore-path .gitignore",
"prettier:fix": "prettier --write . --ignore-path .gitignore"
},
"dependencies": {
"@chakra-ui/react": "^2.0.0",
Expand All @@ -19,15 +22,14 @@
"@elastic/search-ui-elasticsearch-connector": "1.20.2",
"@emotion/react": "^11.10.5",
"@emotion/styled": "^11.10.5",
"@fontsource/geist-sans": "^5.0.2",
"@netlify/plugin-nextjs": "^4.40.1",
"@tanstack/react-query": "^4.29.12",
"autoprefixer": "10.4.14",
"eslint": "^8.42.0",
"eslint-config-next": "^13.4.4",
"framer-motion": "^6.5.1",
"html-to-react": "^1.5.0",
"next": "13.4.4",
"node-sass": "^7.0.3",
"node-sass": "^8.0.0",
"postcss": "8.4.24",
"rc-pagination": "^3.5.0",
"react": "18.2.0",
Expand All @@ -42,6 +44,8 @@
"@types/node": "^20.2.5",
"@types/react": "^18.2.8",
"@types/react-dom": "^18.2.4",
"eslint": "^8.42.0",
"eslint-config-next": "^13.4.4",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-prettier": "^4.2.1",
"prettier": "^2.8.8",
Expand Down
2 changes: 1 addition & 1 deletion postcss.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ module.exports = {
tailwindcss: {},
autoprefixer: {},
},
}
};
Binary file added public/apps/bitcoin-devs.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/apps/bitcoin-search.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/apps/bitcoin-tldr.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/apps/bitcoin-transcripts-review.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/apps/bitcoin-transcripts.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/apps/chat-btc.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/apps/saving-satoshi.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions public/author_icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/btc-main.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed public/btc.png
Binary file not shown.
4 changes: 4 additions & 0 deletions public/circle-tick.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions public/cross_icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions public/dark_cross_icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions public/dashed_line.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/demo-chat.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions public/domain_favicons/default.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/default_dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/default_light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/delving.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/github/dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/github/light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/mailing_list/dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/mailing_list/light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/medium/dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/domain_favicons/medium/light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/favicon.ico
Binary file not shown.
6 changes: 6 additions & 0 deletions public/filter.svg
Binary file added public/font/Mona-Sans.woff2
Binary file not shown.
Binary file added public/holocat.png
19 changes: 14 additions & 5 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,23 @@
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<meta name="theme-color" content="#000000" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<title>Bitcoin Search</title>
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://bitcoinsearch.xyz/btc_book_2_1.jpg?v1">
<meta name="twitter:title" content="Technical ₿itcoin Search">
<meta name="twitter:description" content="The bitcoin technical search we deserve">
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:image"
content="https://bitcoinsearch.xyz/btc_book_2_1.jpg?v1"
/>
<meta name="twitter:title" content="Technical ₿itcoin Search" />
<meta
name="twitter:description"
content="The bitcoin technical search we deserve"
/>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
Expand Down
Binary file not shown.
Binary file added public/landing/dark/bitcoin-search-image.webp
Binary file not shown.
Binary file added public/landing/dark/filter-image.webp
Binary file not shown.
Binary file not shown.
Binary file added public/landing/dark/google-search-image.webp
Binary file not shown.
Binary file added public/landing/dark/sources-image.webp
Binary file not shown.
Binary file added public/landing/dark/treasure-trove-chart.webp
Binary file not shown.
Binary file not shown.
Binary file added public/landing/light/bitcoin-search-image.webp
Binary file not shown.
Binary file added public/landing/light/filter-image.webp
Binary file not shown.
Binary file not shown.
Binary file added public/landing/light/google-search-image.webp
Binary file not shown.
Binary file added public/landing/light/sources-image.webp
Binary file not shown.
Binary file added public/landing/light/treasure-trove-chart.webp
Binary file not shown.
3 changes: 3 additions & 0 deletions public/lightning_icon_filled.svg
3 changes: 3 additions & 0 deletions public/plus_icon.svg
4 changes: 4 additions & 0 deletions public/search_icon.svg
7 changes: 7 additions & 0 deletions public/sort_icon.svg
Loading