GithubHelp home page GithubHelp logo

guardians-dsc / iarl-nodejs Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 4.0 4.68 MB

Interface de Acesso Remoto a Laboratórios

Home Page: https://guardians-dsc.github.io/iarl-nodejs/

License: MIT License

JavaScript 96.52% Dockerfile 3.48%

iarl-nodejs's People

Contributors

amintasvrp avatar andersonvidal avatar danielrcoura avatar dfquaresma avatar joivo avatar kaiokmo avatar matheuscmelo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iarl-nodejs's Issues

Work with issues

I think we could start opening issues and resolving them with our PRs. What do you guys think?

Independet client

There are still files in the project related to the front, I deleted and adapted the project to get leaner.

API Documentation

That issue aims at remember us that we must use documentation in our project sooner or later.

Avoid brute force attack using time delaying.

To avoid any kind of brute force attack when logging into the application, we should put a delay of 200ms for each attempt of login. This value may change in future, but it's a good start.
it is also a good time to think and review the code searching for some vulnerability.

Track code quality

it would be nice if we track the code quality of this repository.
there are some GitHub apps that review the code automatically after every PR or commit, I recommend CodeBeat. it searches the code for bad smells and report them.
if this suggestion is well accepted, i can easily configure it for this repository.

Directory listing

How will we list the directories of an user? The real client of our back-end application is our front-end. How will be the json of directory listing returned to the front?

Ldap authentication

As discussed, ldap validation seems to be better than ssh, since it is faster and more stable.

Refactor directory listing response

Add a path variable in the response to indicate the current path.

"path": "/home/Documents/",
"items": [
    {
        "name": "dir1",
        "isFile": false
    }
]

Docker usage

Since that application already has a dockerfile configuration, I think we should ensure that we are using it.

Download mechanism

How will we handle the downloads? Is it easy to download from the server that is running the application, but the other two?

Continuous integration

Kind of a continuation of #31, this issue proposes that this project should use continuous integration. To do it, we need to seach how it is often done by other developers for each intern project here. For example travis-CI offers support to JavaScript using nodejs, but not to TypeScript...

Token Authorization

Because the application will run on three servers, the session can not be used. Because the data is saved in server memory, when he changes server, session data will not be available and the client will need to sign in again. The token solves this problem, since it contains the required data and will be on the client side

Invalid jsons

What should we do when our application receives an invalid json?

Application configuration files

To be more maintainable, the application needs a configuration directory to store the "development" and "production" variables (as well as environment variables). This can be make using the config module.

Directories endpoint refactor

  • Currently, the directory listing endpoint allows the client to access other directories that should not have access.
  • Adapt to REST pattern

After ldap

After a successful authentication via ldap, what will we do with the login and password of the client? Should we save it in some place to use later?

OPTIONS method support

Sometimes the browser makes an OPTIONS request before making the expected request. The server does not support this type of request.

Standardization of README.md files in IARL repositories

Analyzing the IARL repositories, we can see the absence of a standardized language in the README.md files.

While the iarl-who and iarl-nodejs repositories have a description in Brazilian Portuguese, iarl-vue, iarl-angular, and iarl-react have a description in English.

To standardize the descriptions, which language will be used?

GET directory listing URL

Pass the directory path to be listed in the format: 127.0.0.1:3000/api/directory-list/path/directory instead of passing the parameters in the GET request (ex. 127.0.0.1:3000/api/directory-list?path=paht/directory).

JavaScript style guide

As the project is open-source, it would be interesting to adopt a style guide. Well known is StandardJS, it automatically corrects the code.

Unit tests and code coverage.

It's time to think how can we test this application. This issue aims at remeber that and also propose to do it using some application to calculate code coverage.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.