Coder Social home page Coder Social logo

pwbriggs / library Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 563 KB

Open-source software for cataloging and loaning items in a library.

License: MIT License

JavaScript 41.44% TypeScript 58.56%
books database javascript js jsx nodejs postgres postgresql prisma web webapp react reactjs remix-run vite

library's Introduction

Library

Uses React Powered by Remix Commit activity (number of commits per month) Time of last commit Status of CI tests on GitHub

Open-source software for cataloging and loaning items in a library.

If you have feature requests or suggestions, don't hesitate to open an issue!

Git Branches

The stable branch is always ready to deploy, with minimal bugs. In the future, the beta branch will be as well, but currently beta is not safe for public-facing deployment โ€” it may give unauthenticated + unmoderated access to the database, so that we can test the code before implementing actual application logic.

library's People

Contributors

dependabot[bot] avatar pwbriggs avatar

Watchers

Lucian avatar  avatar  avatar

library's Issues

๐Ÿš€ Initial development

This is a new project. Here's some development work that needs to be done to meet the baseline requirements for the app:

  • #9
  • #70
  • User creation & management
  • Login
  • View & manage catalog
  • Check in & out
  • Dashboard
  • And more...

ESLint Flat Config

Upgrade to eslint 9, which needs us to migrate to an eslint "flat config" file.

Add auth

Implement authorization and user creation.

Libraries are different from many other systems in that accounts cannot be created by just anybody. A librarian (or admin) needs to create user accounts for the patrons. Likewise, an admin creates librarian accounts (or rather, elevates the permissions of a patron).

But then where do admins come from?

My best idea so far is to have some config (.env file?) with an initial admin password. Somewhere on the site (probably root route or login page) we do the following:

  • If no admin accounts exist (or perhaps no accounts at all? there's pros and cons to each), show message to the effect of "This server isn't configured properly. Please contact your library. If you are the operator of this server, please add a SETUP_PASSWORD entry to the config file."
  • If no admin accounts exist and the initial password is configured, create a new admin account.
  • If an admin account does exist and the initial password is configured, give a warning similar to the one above, saying to remove the file. This is for security reasons (we don't want a situation where an account is being auto-created accidentally).

Problem is, the vast majority of the time will be the happy path, so how do we avoid unnecessary requests? Can we run the database query only on server startup?

It would be nice if this could just be prompted on server startup. However, some setups might not allow interaction with the command line of the deployment machine.

Fix build preview command

pnpm start doesn't seem to be working since Vite migration (but I haven't done any real checks on that yet).

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.