Hello
cyberzen,
thanks for taking your time and posting here.
Yes, it is a Swing application. My role model for the application is
AniDB.net. I also would have developed it based on e.g. Struts 2. But the problem is that I would need a web server which is able 1) to act as a Servlet container, 2) which is for free and 3) on which I'm allowed to host these informations. So far I haven't found anything like that. So I decided to write a Swing application (which is not bad because web programming is not my world).
I use Java not only because it is the programming language which I use for 15 years now. Thanks to it it is also possible to run the program later on Windows, Linux and Mac OS X. Even a port to Android devices is not that difficult, also I have some doubt of how useful it would be there or even realistic because of the amount of data.
I also plan to implement most of the feature which you mentioned. But a few I definitely don't plan to implement:
- 8) Request actress / video identification
I think that doesn't belong into a database, but in the forum here. The reason is simple: There are new videos each day. And each old videos disappear (e.g. on Dirty Minded Wife Advent Vol.35 : Satomi Suzuki
I think something like that takes too much space. I have a database containing all covers of the DMM movies of the DVD section. These are more than 80,000 - which doesn't include all available JAV movies, only the ones they are selling. And the covers take up more than 20 GB of space. If you would have also have a preview it the size will explode. That's the reason why I think it is not a good idea.
- 10) Video Player
I plan to offer to start an external video player (like VNC). I also plan to create playlists for some of these. But I don't plan to include a player in my application.
- 13) Sync local database of tags to server
In my case that belongs to the issue of sending data (change requests / CREQs) to the server and getting updates from the server.
- 14) Tag ranking to filter out bad tags
Haven't thought about that yet. Maybe you can explain a little bit more in detail how you will implement it.
- 15) Subtitles uploading (credit person who did subtitle)
I plan to handle subtitles like I handle video files or video files with hardsubs. I don't have any special feature plant for this. For each file the user can define which group is the producer of it (exactly like in AniDB.net). I hope that this will motivate people to upload / share movies without watermarks and with better quality as well as creating subtitles without living in fear that someone will replace their authorship in the file and re-upload it.
Mikuni Maisaki / 舞咲みくに?
That's her, right?
In my current plans I'm using a central database. All the master data will be held there (performers, movies, tags, recommendations, comments, ...). The local database is like the central database, but has additional user data (like the movies you have, their location, your bookmarks, what movies you want to see, which movies you already have seen, etc.).
I also thought about a P2P network for the data. As I don't have a server it will be a very tiring and inconvenient to upload your CREQs or sending them by PM. And you also have to take care to get the updates from the central database (via file from the forum, a file hoster or P2P [emule, torrent]). But so far I think it is the only solution.
Why? Because you can't transmit and hold structured data in a P2P network (like
KAD / Kademlia.
Okay, there are also other forms of database. Big SQL databases (like Oracle or IBM DB2) or IBM Lotus Notes are able to replicate data. In case of an SQL database it is more or less simple: If you do a read, you do it on your local database. But if you do a write all databases will lock the record and write it simultaneously. If one database gets offline, you won't be able to write any records anymore.
In case of Lotus Notes it works a little bit different. Here databases can go offline without any problem. Each record has a history of timestamp when it was modified. If the same records in two different database gets modified Notes compares these timestamps and tries to bring it into an order. Example:
Code:
Database 1 - list of modifications of record A:
10:00
10:15
11:00
Database 2 - list of modifications of record A:
10:00
10:15
11:00
11:30
In that case the database 2 contains the up-to-date record and the record will be transferred from database 1 to 2. But in case the record in database 1 got also modified in the meantime, one of the two records will be saved as a "conflict document" and the other one will become the normal record. Then the user has to look after it and fix it manually.
So these 2 approaches are also not very convenient or safe.
So there are now 3 people including me who are working on a JAV database:
ding73ding and
cyberzen. I think the projects are a little bit different from each other. But maybe we can join forces in aspect of the main data.