Giter Site home page Giter Site logo

remix-todo's Introduction

Remix Todo Demo

A demo of using Remix loaders and actions in a simple todo app to learn more about Prisma ORM.

Run this project locally

Since I don't want to host a public database and deal with authentication and all of that for a simple demo project, you'll have to run it locally to see it in action. Thankfully, it's not that many steps:

git clone https://github.com/zsrobinson/remix-todo.git
cd remix-todo
npm install
npx prisma db push
npm run dev

remix-todo's People

Contributors

zsrobinson avatar dependabot[bot] avatar

Watchers

 avatar

remix-todo's Issues

Create Different Lists

Allow for the user to create multiple lists to differentiate their todo items. Lists should be displayed in the sidebar with a New List button at the bottom, as shown below.

create-list excalidraw

Multiple Submissions on New List Form

While the user is waiting for a new list to be created, they might end up clicking the submit button a few times since there is no loading UI as of now. This shouldn't be a problem if the button was properly disabled after submission, but it's not. Multiple submissions are already prevented when adding a new todo item, so it shouldn't be too hard to reimplement that logic.

Light Mode Support

Some people prefer to have their eyes blinded by their computer screens, and that's okay. Light/dark mode preferences could be stored in session storage (or something to that effect), or it could just follow the prefers-color-scheme thing from the user's OS. For simplicity, I'm leaning toward the latter.

It would also be cool if the favicon changed based on the user's preferred color scheme, something I haven't attempted before. An example of this can be shown below from GitHub.

GitHub favicon changing based on color scheme

Sidebar Breaks When Lists Overflow

Not sure how well the screenshot shows this (and ignore the test list names1), but in the case that there are more lists than vertical real estate, the sidebar doesn't look quite right. This should hopefully just need an overflow property or something along those lines so that the list of lists will just scroll when there are too many.

demonstration of UI issue with sidebar

Footnotes

  1. you can see how there are multiple of the same list name because of #7

No Default List

After initializing the database, there are no default lists. So when /list tries to redirect to the first list in the database, it just throws an error. Instead, a default list should be created if there are no lists in the database.

Edit Existing Todo Item

Currently, the only way to edit a todo item is to delete it and create a new one, which isn't a great experience. Instead, it would be nice to show an edit and delete button when hovering over an item. The UI for editing an item could be similar to creating a new one, with a text input in place of where the title of an item would normally be.

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.