Coder Social home page Coder Social logo

ftsell / borrowlist3000 Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 2.45 MB

Simple application to keep track of who borrowed what stuff

License: MIT License

JavaScript 1.07% Vue 36.94% Shell 0.66% Dockerfile 1.60% Python 50.22% HTML 5.29% TypeScript 4.23%

borrowlist3000's People

Contributors

dependabot[bot] avatar ftsell avatar

Watchers

 avatar  avatar  avatar

borrowlist3000's Issues

Make registration an opt-out feature

If someones wishes to self-host this application, they might not want random people to create accounts on their instance.

In this case, the user should be able to disable arbitrary user registration however it is not yet clear how any new users would be created in that scenario.

Add application frontpage

Currently, the frontpage statically redirects to /app.
It should instead display some information about the application and more prominently link to available resources such as this Github repository.

Use migrations for database setup

Currently, sequelize.sync() is called which sets up database tables if they don't yet exist.
This however, does not scale well because it completely ignores later changes to models.

Instead, a migration library like Umzug should be used.

Implement basic account settings

A user should be able to have an overview of their account that includes the following information and features:

  • Change password feature
  • Delete account feature
  • E-Mail address settings, see #7 for details

Add more details to README

  • Configuration reference (environment variables)
  • Link to public instance
  • Summary of project architecture
  • Deployment guides

Make view of borrower shareable

The application is designed to keep track of who borrowed what stuff.
It would be nice if a user could send a link to the application to the borrower who can then also view what they have borrowed (i.e. as a reminder).

This should be implemented without requiring the borrower to log in to the application.

Fix session cookie lifetime

Currently, the session cookie has no lifetime set so it expires as soon as the user closes the application tab (or the browser, i don't really know).
This should be easily correctable by defining a cookie lifetime as documented in express-session

Make application usable by anonymous accounts

Sometimes a user might not wish to fully register via username and password.
In this case it should still be possible to use the application via an anonymous account.
The access credentials for that anonymous account should then be saved on the users browser so that they are able to access the account again.

Implement offline usage capabilities

With modern progressive-web-app standard it should be possible to mostly use this application offline.

If a complete synchronization solution turns out to be too complicated, it would also be nice to use the application in a read-only mode when offline.

Revisit application design and user interaction

Currently, the application uses vuetify as a component library but neither defines a color scheme nor uses any colors.
Additionally, the current user workflow was hacked together to be something that works.

Ideally, the User-Experience should be revisited to make it better.

Implement email address handling for account recovery

Sometimes a user might lose access to their account.
In this case, there should be the functionality to recover that access by sending a recovery link to an email address linked to their account.

Of course it should still not be necessary to provide an email address for registration but voluntary.

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.