Skip to content

Commit 705f97d

Browse files
committed
Initial commit.
0 parents  commit 705f97d

29 files changed

Lines changed: 16618 additions & 0 deletions

.eslintrc.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"env": {
3+
"es6": true,
4+
"node": true,
5+
"jest": true
6+
},
7+
"parserOptions": {
8+
"parser": "@typescript-eslint/parser",
9+
"ecmaVersion": 2018,
10+
"sourceType": "module"
11+
},
12+
"plugins": ["@typescript-eslint"],
13+
"extends": [
14+
"plugin:@typescript-eslint/recommended",
15+
"prettier",
16+
"prettier/@typescript-eslint"
17+
],
18+
"rules": {
19+
"@typescript-eslint/no-explicit-any": "off",
20+
"@typescript-eslint/no-empty-interface": "off"
21+
}
22+
}

.prettierignore

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Logs
2+
logs
3+
*.log
4+
5+
# Runtime data
6+
pids
7+
*.pid
8+
*.seed
9+
10+
# Directory for instrumented libs generated by jscoverage/JSCover
11+
lib-cov
12+
13+
# Coverage directory used by tools like istanbul
14+
coverage
15+
16+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
17+
.grunt
18+
19+
# Compiled binary addons (http://nodejs.org/api/addons.html)
20+
build/Release
21+
22+
# Dependency directory
23+
# Commenting this out is preferred by some people, see
24+
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
25+
node_modules
26+
27+
# Users Environment Variables
28+
.lock-wscript
29+
30+
# IDEs and editors (shamelessly copied from @angular/cli's .gitignore)
31+
/.idea
32+
.project
33+
.classpath
34+
.c9/
35+
*.launch
36+
.settings/
37+
*.sublime-workspace
38+
39+
# IDE - VSCode
40+
.vscode/*
41+
!.vscode/settings.json
42+
!.vscode/tasks.json
43+
!.vscode/launch.json
44+
!.vscode/extensions.json
45+
46+
### Linux ###
47+
*~
48+
49+
# temporary files which can be created if a process still has a handle open of a deleted file
50+
.fuse_hidden*
51+
52+
# KDE directory preferences
53+
.directory
54+
55+
# Linux trash folder which might appear on any partition or disk
56+
.Trash-*
57+
58+
# .nfs files are created when an open file is removed but is still being accessed
59+
.nfs*
60+
61+
### OSX ###
62+
*.DS_Store
63+
.AppleDouble
64+
.LSOverride
65+
66+
# Icon must end with two \r
67+
Icon
68+
69+
70+
# Thumbnails
71+
._*
72+
73+
# Files that might appear in the root of a volume
74+
.DocumentRevisions-V100
75+
.fseventsd
76+
.Spotlight-V100
77+
.TemporaryItems
78+
.Trashes
79+
.VolumeIcon.icns
80+
.com.apple.timemachine.donotpresent
81+
82+
# Directories potentially created on remote AFP share
83+
.AppleDB
84+
.AppleDesktop
85+
Network Trash Folder
86+
Temporary Items
87+
.apdisk
88+
89+
### Windows ###
90+
# Windows thumbnail cache files
91+
Thumbs.db
92+
ehthumbs.db
93+
ehthumbs_vista.db
94+
95+
# Folder config file
96+
Desktop.ini
97+
98+
# Recycle Bin used on file shares
99+
$RECYCLE.BIN/
100+
101+
# Windows Installer files
102+
*.cab
103+
*.msi
104+
*.msm
105+
*.msp
106+
107+
# Windows shortcuts
108+
*.lnk
109+
110+
# Others
111+
lib/
112+
data/

.prettierrc.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"tabWidth": 4,
3+
"semi": true,
4+
"singleQuote": true
5+
}

README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# multi-search
2+
3+
> A search interface to search in multiple search engines with one search query.
4+
> For example to compare the different result positions.
5+
6+
## About
7+
8+
This project uses [Feathers](http://feathersjs.com). An open source web framework for building modern real-time applications.
9+
10+
## Getting Started
11+
12+
Getting up and running is as easy as 1, 2, 3.
13+
14+
1. Make sure you have [NodeJS](https://nodejs.org/) and [npm](https://www.npmjs.com/) installed.
15+
2. Install your dependencies
16+
17+
```
18+
cd path/to/multi-search
19+
npm install
20+
```
21+
3. Copy the `config/local.json.dist` to `config/local.json` and add the needed config options for the search engines.
22+
23+
4. Start your app
24+
25+
```
26+
npm start
27+
```
28+
29+
## Testing
30+
31+
Simply run `npm test` and all your tests in the `test/` directory will be run.

config/default.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"host": "localhost",
3+
"port": 3030,
4+
"paginate": {
5+
"default": 10,
6+
"max": 50
7+
}
8+
}

config/local.json.dist

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"searchEngines": {
3+
"Google": {
4+
"baseUrl": "https://www.googleapis.com/customsearch/v1",
5+
"apiKey": "YOUR_API_KEY",
6+
"searchEngineID": "YOUR_SEARCH_ENGINE_ID"
7+
},
8+
"Bing": {
9+
"baseUrl": "https://api.bing.microsoft.com/v7.0/search",
10+
"apiKey": "YOUR_SUBSCRIPTION_ID"
11+
}
12+
}
13+
}

config/production.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"host": "multi-search-app.localhost",
3+
"port": 8080
4+
}

config/test.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

jest.config.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module.exports = {
2+
preset: 'ts-jest',
3+
testEnvironment: 'node',
4+
globals: {
5+
'ts-jest': {
6+
diagnostics: false,
7+
},
8+
},
9+
};

0 commit comments

Comments
 (0)