Update readme with project structure diagram.

This commit is contained in:
voussoir 2017-11-12 01:14:16 -08:00
parent b721e5a1cd
commit e1a904da6f

View file

@ -7,20 +7,33 @@ I am currently running a demonstration copy of Etiquette at http://etiquette.vou
Etiquette is a tag-based file organization system with a web front-end. Etiquette is a tag-based file organization system with a web front-end.
Documentation is still a work in progress. In general, I use: Documentation is still a work in progress. In general,
- `python etiquette_flask_launch.py [port]` to launch the flask server. Port defaults to 5000 if not provided. - You must make the `etiquette` package importable by placing it in one of your lib paths. I use filesystem junctions for this purpose.
- `python -i etiquette_repl.py` to launch the Python interpreter with the PhotoDB pre-loaded into a variable called `P`. Try things like `P.new_photo` or `P.digest_directory`. - Run `python etiquette_flask_launch.py [port]` to launch the flask server. Port defaults to 5000 if not provided.
- Run `python -i etiquette_repl.py` to launch the Python interpreter with the PhotoDB pre-loaded into a variable called `P`. Try things like `P.new_photo` or `P.digest_directory`.
### Project stability ### Project stability
You may notice that Etiquette doesn't have a version number anywhere. That's because I don't think it's ready for one. I am using this project to learn and practice, and breaking changes are very common. You may notice that Etiquette doesn't have a version number anywhere. That's because I don't think it's ready for one. I am using this project to learn and practice, and breaking changes are very common.
### Project Structure
- `etiquette`
The core backend package.
- `frontends`
Ideally the backend should be frontend-agnostic. Even though the Flask interface is my primary interest, it should not feel like it must be the only one. Therefore I place it in this folder to indicate that other frontends are possible too.
- `etiquette_flask`
This folder represents the flask server as somewhat of a black box, in the sense that you can move it around and just run the contained launch file.
- `etiquette_flask`
This is the package that contains all of the site's actual API code.
- `utilities`
For other scripts that will be used with etiquette databases, but are not part of the library itself.
### Contributing ### Contributing
If you are interested in helping, please raise an issue before making any pull requests! If you are interested in helping, please raise an issue before making any pull requests!
### To do list ### To do list
- Make the wording between "new", "create", "add"; and "remove", "delete" more consistent. - Make the wording between "new", "create", "add"; and "remove", "delete" more consistent.
- User account system, permission levels, private pages. - User account system, permission levels, private pages.