Giter VIP home page Giter VIP logo

homeserver's Introduction

My Home Server

(Name will have to change, 'cause Matrix uses the term "homeserver" to mean something pretty specific and definitely not this. But it'll do for now.)

This project uses a SQLite database and runs a webserver for tracking a games collection. It's for my retro games collection.

Prerequisites

  1. (Windows) Install SQLite3
  • Download and extract somewhere: https://sqlite.org/download.html
  • Add an environment variable SQLITE3_LIB_DIR pointing to wherever you installed the lib files.
  1. Run cargo install diesel_cli --no-default-features --features sqlite
  • This installs the Diesel (database library/tool) command-line interface used for installing and configuring the database file.

Notes

Not sure if it's needed, but the DB should be ./db/homedb.sqlite. If you don't have it, you'll probably need to run something like:

  • diesel setup --database-url="./db/homedb.sqlite" (unverified)
  • diesel migration run

The migrations should already exist. But if you're going to add one... well, here, you can just read up on how Diesel works: https://github.com/diesel-rs/diesel/tree/master/diesel_cli

homeserver's People

Contributors

aberrantwolf avatar

Watchers

James Cloos avatar  avatar

homeserver's Issues

Turn into one-page app

Really, the whole frontend should be turned into a single-page app that uses AJAJ to communicate back and forth with the server.

Some notes with that:

  • The backend API will need to change to not redirect from posts, but just sent response data.
  • Maybe tabs would be okay for a good first pass to get everything rendering to a single page?

Define a JSON structure for submitting multiple changes per POST

Currently, we can only update one record at a time. (You hit "ENTER" and it'll update only the record associated with the active form widget.)

We need to be able to submit all the data that has been modified on the current page and then have the backend handle that. Will require frontend and backend changes.

Can we keep things more DRY?

There's a LOT of copy/paste going on in the various DB source files and templates. It seems like there should be a way to not repeat everything so badly.

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.