Coder Social home page Coder Social logo

autologout's People

Contributors

lilessam avatar purposebuiltscott avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

autologout's Issues

Firewall Issue

From Ahmed: I was using port 4000 for the nodejs server, but it seems not working because of a firewall thing, so when I tried to use 3000 instead .. it doesn’t work because it’s already in use in SSS app.
Did you have to something to allow connection for port 3000 ?
The issue basically is port 4000 is getting ERRCONNECTIONTIMED_OUT
and according to DO Community it’s a firewall => https://www.digitalocean.com/community/questions/err_connection_timed_out-in-node-js-using-centos-7

Requirements POCs

The goal of this project is to deliver the following scenarios successfully.

  • 1 tab open, close tab, should be logged out
  • 2 tabs open to same page, close one tab, should still be logged in, close both tabs, should be logged out
  • 1 tab open, cut internet connection, should be logged out
  • 1 tab open, reboot machine, should be logged out

So, before writing the real plugin, we should do some research and create POCs to see if we can match all the needed requirements and which solutions we should implement so we can make the code infrastructure based on that.

Plugin Settings

In the end, we should create a settings page in the plugin to control the following.

  • If the plugin is enabled.
  • Number of inactivity minutes allowed for each model implemented.

Then, we should implement those settings in the plugin.

Plugin infrastructure

We should build the plugin infrastructure to support multiple models.

By default, we should support the Backend User Model and Rainlab User if installed. The infrastructure should be scalable for other models.

The plugin should support two key features for each model:

  • Log out on close.
  • Log out after X min inactivity.

Initially, we should use the Builder design pattern to implement the features of each supported model.

Backend User Model Implementation

Write the implementation for the Backend User Model for the key features.

  • Log out on the site tabs close.
  • Log out after X mins of inactivity.

Setup OctoberCMS instance on staging.

Should have a ready-to-test OctoberCMS instance on staging with the plugin installed alongside frontend users plugin so QA team can test the plugin functionalities.

Rainlab User Model Implementation

Write the implementation for the Rainlab User Model for the key features.

  • Log out on the site tabs close.
  • Log out after X mins of inactivity.

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.