alchemist
alchemist copied to clipboard
Make this into two parts, one being the application and the other being the API.
The thought is that this would make getting and imputing data for distros much easier. This should also make it easy for automated tools to update / add packages as distros change/add packages.
- [ ] Alchemist should include the current version in each API payload, and the API should return a update
true
orfalse
that alchemist is a few versions old and needs to be updated. #75 - [ ] As a sub piece for sending the current installed Alchemist version, it shouldn't be required to use the API in any way, allowing other programs/scripts to use our API.
- [ ] The ID for a package should be its author's given name for the program, example sudo should be called sudo not su do #26
- [ ] The API should take both the package name and distro name in order determine the correct package to be installed. #77
- [ ] The API should search the package table for row for the package name so it can get the package id, which will be used to find what package to install for said distro. Example: I search for su-do and the distro arch, it should find the row containing su-do and determine based on the row su-do was in (in this case sudo) it should install su-do for the distro Arch. #77
- [x] ~~Future Goal: People should be able to give us package name changes on the website through a web portal if we don't/can't yet track package changes/updates for that distro.~~ Go to #78 to track this.
- [ ] Future Goal: The API should be able to be updated whenever a package is update/added. (This can be done by us or by the individual distros. #79
- [ ] Future goal: People should be able to search for a package name for their Distro on the website using the package name they type/paste in and their distro name. (distro name could be a drop down list that you can type to narrow down results for (to save time on typing out the distro name without annoying people with a bunch of distros to trawl through. #80
I think we can just do a workspace and split it up that way!
@mgattozzi Want to go ahead and make a starting repository for the API server? I'll put some of the tasks here on there as they don't need to be on here.
I think it would be best to do workspaces. If you look at Diesel as an example all of the tools and packages are in the same repo. I'll split them out into alchemist and alchemist_server packages in the same repo
Makes sense, sounds good to me!
#84 Got merged and this begins the big rewrite of the client code. Major refactoring and easier to read and reason about! Now we need to work on the API.
#85 Is on the block to be merged, afterwards we'll be on the block for more client changes as the client is changed to work with the server.