m4tx / egielda Goto Github PK
View Code? Open in Web Editor NEWWebapp that provides convenient way to trade books between students
License: GNU Affero General Public License v3.0
Webapp that provides convenient way to trade books between students
License: GNU Affero General Public License v3.0
Checkboxes in manage/books/ should behave better.
"Back" button now leads to the page up in the "Manage tree". It should lead to the referer whenever possible.
Current table sorting is a little bit "hacky" when it comes to dates. We should thus use <time> elements and write custom parser so it'll work anywhere, no matter what language it will be (and also it'll be a little bit faster, I suppose).
In several places - for example, order details - there are informations about some objects - for example, book types - but they do not contain links do details page about them. They should be all found and fixed.
There are situations that duplicated BookTypes (same ISBNs, same/similar titles) are created. It should be prevented by some way.
The most obvious option is an option to "merge" 2 BookTypes - admin should have some way to choose which one they want to leave, and then all of the uses of the other BookType should be set to the new one, and the old should be removed then. It should be provided as a separate feature as well as built-in option in Accept books.
"No Data Available." and possibly other texts from nv.d3.min.js should be translated.
It probably should raise respective HTTP error code, preventing users from creating a lot of accounts by mistake.
Authentication for students will be required at some point. How it should be done, of course, is CAS for signing in and LDAP for retrieving data about students. The main problem is where to use it. What I propose now is:
Charts in stats are responsive. This comes with a several disadvantages when it comes to printing:
We should provide a Remove button (+ bulk removing, like in books) in "Sellers with unaccepted books". The option should remove the books and not AppUsers, though (since the same AppUser may be used in Orders).
In some views, instead of using annotate() and aggregate() QuerySet methods, some ugly methods of, for example, counting Books of the same BookType (by utilizing Python dicts) are in use. The example of this is categories.views.index. It should be fixed at some point.
Currently, /manage/ subpages are accessible without authenticating. Adding some kind of permission support is necessary.
It's also important to make the /manage/ not only inaccessible, but also invisible for regular users. 404 error should do the trick.
Instead of using common/templates/book_chooser_wizard/books_chosen_list.html, we should utilize books/templates/books/book_list_base.html generic template.
The same applies for accept_book_list.html.
Add a way to display a list of books currently sold/received of a selected type. Probably it's possible to implement only after implementing some part of Selling app.
While adding new book, ensure it isn't already in database.
For example: we should replace books/edit/5 with books/5/edit. The second format indicates that we edit the book with id 5, instead of saying it's 5th page of editing (or even something else). It also provides consistency when creating "Details" pages with "Edit", "Remove" (etc.) links - instead of redirecting from /21 to /edit/21, we'll redirect from /21 to /21/edit - which is small enhancement for overall user experience.
Also, return Bad Request when user tries to request more books than available.
It would be a cool feature to provide an easy way to automagically retrieve all needed book info only by typing ISBN number.
It looks like Google Books API (https://developers.google.com/books/docs/v1/using#PerformingSearch) is the right way to do it easily. The feature should work on the client side (via AJAX).
On all the pages that doesn't work without JavaScript, we should provide an information that the page requires it.
Also, I suppose there should be some way to access the up-right menu without JavaScript.
We should provide an info about that e-Giełda requires Python 3.0 or newer to work or find a way to force the virtualenv to use python 3 instead of 2.
These pages make too many SQL queries (proportional to the data size). The fix should be usually making use of select_related (or similar methods of QuerySet).
Removing category should not remove the book types in it (since one book can be assigned to multiple categories).
All tables in e-Giełda should be sorted in 'some' way. Also, we should provide a JS-powered sorting (accessed by clicking the table headers).
When all seller's books are deleted by setting amount to 0, seller should be removed from display.
When one executes an order changing the amounts of all the books in it to 0, nothing seriously happens. The order stays not executed. I suppose it should be removed.
Brand new README.md should include:
BookType model has now only 3 fields (publisher, name, price). Adding support for other optional properties (such as ISBN, publication year, edition, something else?) might be useful. Also, it will also require updating all of the forms and views that currently rely on them.
Such pages include /sell/summary.
Every source file should include the notice mentioned at the end of the AGPL license text.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.