f4str / sauce-searcher Goto Github PK
View Code? Open in Web Editor NEWSearch for the anime, manga, light novel, visual novel, and doujin sauce
Home Page: https://f4str.github.io/sauce-searcher
License: MIT License
Search for the anime, manga, light novel, visual novel, and doujin sauce
Home Page: https://f4str.github.io/sauce-searcher
License: MIT License
Fix deprecation warnings with useRef
using react router or different subroutine.
Wake up the server by pinging it once on initial load
Create a base pydantic model to contain all of the shared fields and subclass each individual pydantic model. This will standardize the names (synopsis vs description) and clean things up.
The LICENSE
file is duplicated in the server
directory. Remove it.
Move the current project into a client
subfolder and combine this repository with sauce-searcher-server
under a server
subfolder.
Similar to visual novel search results, add an image for doujin search results. Make sure it is always blurred.
Remove firebase deployment and only deploy to GitHub pages.
Update the README for the client to include what the frontend is (react + semantic UI) and how to run it.
Update the README for the server to include what the backend is (python + fastapi) and how to run it.
Update the base README with what the app is and how to run it.
Use React Typescript instead vanilla React JS for static type-checking
.editorconfig
should be changed to
[*.{js,jsx,ts,tsx}]
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 100
tsconfig.json
should be changed to
{
"compilerOptions": {
"target": "es2020",
"module": "esnext",
"strict": true,
"allowJs": true,
"jsx": "react-jsx",
"importHelpers": true,
"moduleResolution": "node",
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"dom",
"dom.iterable",
"esnext"
]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
],
"exclude": [
"node_modules"
]
}
Delete .eslintignore
, .eslintrc.json
, .prettierrc
Update package.json
to combine these files
{
"name": "sauce-searcher",
"version": "2.0.0",
"author": "Farhan Ahmed",
"homepage": ".",
"license": "MIT",
"private": true,
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"lint": "eslint 'src/**/*.{js,jsx,ts,tsx}'",
"lint:fix": "eslint --fix 'src/**/*.{js,jsx,ts,tsx}'"
},
"dependencies": {
"@types/jest": "^26.0.15",
"@types/node": "^12.0.0",
"@types/react": "^17.0.0",
"@types/react-dom": "^17.0.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"semantic-ui-css": "^2.4.1",
"semantic-ui-react": "^2.0.3",
"typescript": "^4.1.2",
"web-vitals": "^1.0.1"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.28.1",
"@typescript-eslint/parser": "^4.28.1",
"eslint": "^7.29.0",
"eslint-config-airbnb": "^18.2.1",
"eslint-config-prettier": "^8.3.0",
"eslint-import-resolver-typescript": "^2.4.0",
"eslint-plugin-import": "^2.23.4",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-react-hooks": "^4.2.0",
"prettier": "^2.3.2"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"eslintConfig": {
"root": true,
"env": {
"browser": true,
"es2021": true
},
"extends": [
"plugin:react/recommended",
"airbnb",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2020,
"sourceType": "module"
},
"plugins": [
"react",
"react-hooks",
"@typescript-eslint",
"prettier"
],
"rules": {
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
],
"prettier/prettier": [
"error",
{
"singleQuote": true,
"jsxSingleQuote": true,
"trailingComma": "es5"
}
],
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": "error",
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",
"react/jsx-filename-extension": [
1,
{ "extensions": [".js", ".jsx", ".ts", ".tsx"] }
]
},
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
}
}
}
The TSX components in client/components/
need to be cleaned and organized. One suggestion is to create modules
or pages
subdirectories and organize things accordingly like the grids
subdirectory.
Establish conventions where named functions use the function
keyword while anonymous functions use arrows.
Use eslint to be able to run yarn lint
and format code/check for linting issues.
Using typescript, rewrite the query logic in a concise way.
Adjust image css so its height adapts to the container size.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.