Skip to content
Scinapse web client
TypeScript CSS JavaScript
Branch: master
Clone or download
NohYujeong and TylorShin Updated recommendation (#957)
* Apply refresh recommendation paper logic

* Add init logic after sign up

* Change wrong parameter condition

* Change wrong api call parameter

* Fixed wrong import location

* Add refresh button in subtitle

* Apply random rec ab test and restore remove code

* Add action ticket in refresh button

* Clean up verbose code

* Add return logic in add paper to rec pool

* Fixed api call logic to include wrong parameter

* Change parameter name

* Change store reset logic

* Change code scope

* Divide addPaperToRecommendation logic

* Change function logic and add missing part

* Add 'addPaperToRecommendation' logic in request full text btn on click

* Add async await logic

* Change function call logic at is not logged in user

* Divide managed recommendation pool logic

* Add missing async logic

* change the name, path, usage position of the component

* set logic

* clean up ticket structure

* check non-login status behavior

* change the wrong recommend logic at add to collection feature
Latest commit 4746dd5 Aug 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci add missing puppeteer dependencies Aug 16, 2019
app Updated recommendation (#957) Aug 22, 2019
e2eTest
env Upgrade Lambda's node runtime to 10.x (#832) May 14, 2019
jest Release (#495) Oct 26, 2018
scripts Revert "Revert "enhance dev zone deployment system (#947)"" Aug 2, 2019
server fix wrong path of the dev zone srever files Aug 13, 2019
typings Updated recommendation (#957) Aug 22, 2019
.babelrc.js remove hot-loader (#895) Jun 28, 2019
.eslintignore apply eslint rules (#833) May 15, 2019
.eslintrc.js
.gitignore Fix wrong designs and logic of the citation box (#371) Jun 25, 2018
README.md change CRLF to LF (#759) Apr 8, 2019
config.yml Set Serverless deploy environment Sep 3, 2017
jest.config.js Release (#866) Jun 10, 2019
jest.e2e.config.js add basic E2E test (#958) Aug 16, 2019
lint-staged.config.js fix) wrong hooks May 15, 2019
package-lock.json add Redux Starter Kit (#961) Aug 19, 2019
package.json add Redux Starter Kit (#961) Aug 19, 2019
serverless.yml Revert "Revert "enhance dev zone deployment system (#947)"" Aug 2, 2019
tsconfig.json add basic E2E test (#958) Aug 16, 2019
tsconfig.test.json
webpack.config.js remove hot-loader (#895) Jun 28, 2019
webpack.dev.browser.config.js enable hot loader (#876) Jun 18, 2019
webpack.dev.handler.config.js Revert "Revert "enhance dev zone deployment system (#947)"" Aug 2, 2019
webpack.dev.server.config.js Revert "Revert "enhance dev zone deployment system (#947)"" Aug 2, 2019
webpack.local.dev.config.js apply eslint rules (#833) May 15, 2019
webpack.prod.browser.config.js turn off parallel option to production build to save memory usage May 23, 2019
webpack.prod.server.config.js remove aws-sdk externals from production build Aug 2, 2019

README.md

scinapse.io GitHub Starts GitHub contributors Node version

scinapse's Web App repository.

Getting Started

> git clone https://github.com/pluto-net/web-client.git
> npm install
> npm start

Then, visit http://localhost:3000 after compiling source code.

FAQ for setting local environment

  1. I can't access to http://localhost:3000
  • If you hadn't ran it before, it could happen because there aren't destination files to serve. So, just press ctrl + c and re-run local server. npm start
  1. Your npm modules could be stale.
  • run npm install again, and try to re-run local server npm start
  • If it doesn't work, remove node_modules directory(ex: rm -rf node_modules), and do npm install and npm start
  1. Your branch could be stale.
  • pull origin/master branch and re-run local server.

Behind local server

Local server runs with Express and webpack-dev-server.
Because Scinapse is the universal rendering web-app, it needs both server-side app file and client-side app file.

So, 2 Webpack clients run at the same time for the bundled file of server and client from different entry-point.(You can find this with webpack config files in the root folder.)

The one for the server just runs in watch mode, then throw results to the dist directory. Then, Express and Nodemon will catch and serve it to http://localhost:3000.
The other one for the client-side bundle file runs in webpack-dev-server. This webpack serve the results to http://localhost:8080. And our HTML file served from Express server above, has script reference for http://localhost:8080.

So, When you have changes in code, wait until both server and client build done.
After build, just refresh the browser tab which is heading for http://localhost:3000/*.
If there's no error, you can see the result of your code.

Running the tests

There are two kinds of the tests.
First, Unit Tests.
Second, E2E tests.

Each has its own running command. If you find separated test command, find package.json file.
Below is integrated test command which runs both Unit and E2E test.

npm test

Built With

Contributing

If you want to contribute something, just make Pull Request or Issue for us. we will appreciate all of your contributions. thanks.

Current Issues

  • Clean up source directory structure.
  • Assign proper types for Redux Actions and Reducers.
  • Missing && Wrong Unit tests.
  • Should make more E2E tests.

Contributors

License

Work In Progress. However, basically this project is licensed under the GPL.

Acknowledgments

From Apr 2018, We decided to use GitHub's Wiki page for this topic.
However, belows are valid until now.

Why ReactJS?

ReactJS has had some license problem, but we think it's solved now. PLUTO's frontend team is used to ReactJS a lot. But we don't want to any learning burden except blockChain knowledge.

We might need and apply Vue or Angular later(Maybe after Poc). But React is a pretty good library and we think it's fastest way to develop product at least in our team.

Why Typescript?

It's for the benefits from using typed language.

  • Easy to refactoring BlockChain is the bleeding edge area. It means there will be a lot of changes. So, DAPPS and other BlockChain applications should be refactored easily and flexibly.

  • Nice to group work In plain Javascript, when you trying to use the function or helpers that made by other team mate, it's very common situation the one is ambiguous. We tried to avoid this problem by using typed language.

  • Why not Flow? We also think Flow is much more suitable for React, but PLUTO team is used to TypeScript. And there is not a big problem to use Typescript with React nowadays. Until PoC, we won't change neither Typescript nor React. But if there is a clear merit to use Angular4 and Typescript, we might migrate to Angular4 after PoC.

You can’t perform that action at this time.