HamedMasafi / Nut

Advanced, Powerful and easy to use ORM for Qt
GNU Lesser General Public License v3.0
296 stars 75 forks source link

Wiki request for pages Status, Getting Started, and Example #102

Closed Light-Wizzard closed 3 years ago

Light-Wizzard commented 4 years ago

I Forked it to help out with the Project in terms of Documentation, but quickly ran into issues, the first is obvious, its failing for both Travis and AppVoyer, by itself would not be an issue, but I am also having issues, for example, I can open the project(s) in Qt Creator, not sure which *.pro file I should use is the first obstacle, nut.pro compiles but does not make a library, this is an Open Issue https://github.com/HamedMasafi/Nut/issues/97, and both nut-dynamic.pro, Nut.pro fail to compile, so the Status page will help out users like myself, that do not like to have to ask questions like this, and with no update on #97, I am not sure what I am missing, for example, is this a Library, or do I just include it in my project, and compile it in, if so, the Getting Started Page should reflect that, as it is, I have no clue, and #97 is also in the same position, not understanding the basics.

Example of Status page: https://github.com/Light-Wizzard/Nut/wiki/1.Status

Getting Started should show users how to use this project, my issue is the same as #97, it makes no Library.

Example of Getting Started Page: https://github.com/Light-Wizzard/Nut/wiki/2.Getting.Started

I can only help out if I understand your workflow, if you give me some basic answers, I can update my Wiki pages to reflect that, and you can just copy and paste them into your Wiki, and edit them as you wish.

If you give me a link to a working demo or example app that I can use for an example, I can probably figure out the rest and make an example page, maybe you can just make an examples folder and post them there to point to, so the Examples Page will be a tutorial on how to use it, so the examples or demo code should do something simple, like a task list and a contact manager that shows off all the features.

I think its the lack of any examples that is the root of my not understanding how to use it with full example code, with *.pro file, and some type of tutorial would be nice, if you can help me get through this process, I can make a slide show style video to help out promoting the project on YouTube, just make a Nut Account, I will upload to my account for you to watch, if you like it, I will zip up the files I used to make it, along with the video itself, and give you the download link, I will use Blender in 4k with Audio explaining, so you do not have to read it, the words are there to translate into other languages, that is better to do in subtitles, so you need to know what languages you want to support, English is the only one I know, so the only one I can support, computer translations are not hard to do, I can even write bash scripts to automate that.

If you need to fund the project, YouTube is a better option, not only if you can get over 1,000 subscribers you can monetize for ads, but you can link to a donation page.

If you are interested in this type of help, let me know, otherwise, I hope you take these as suggestions and feature requests.

In fact, I would make it a feature to have users make videos for you to upload to YouTube, to get the word out about the project.

At this point, I have no idea if it even works, since I just started using it today, and ran into the issues above, but I figured that the ratings you have mean something, its how I pick this project over the French QxOrm https://www.qxorm.com/qxorm_en/home.html, not that I have anything against the French, I am married to one, that was a joke, English Humor, I picked it because of code you wrote, not because of who wrote it, good code is hard to find, the code is normally in English, but not so much the comments, and with no translations to go along with them, its not easy to follow the code, so I am checking out this project also, even if I need to get my wife to translate for me, so my question to you is, can you compete with that project, pros and cons would help out with a Getting Started page, why use one over the other, and something you need to do if you want to compete but to compare is also great, a benchmark even better, so how serious are you is a question that I want to write about on those pages, and put into those videos, but only you can answer them.

People coming to your page need to know if it works for the first thing and having two red marks without any reason why makes most people shy away, at least write a reason for the failure, maybe someone can help out.

Benchmarks are not the most important, being the fastest should never be your goal, ease of use across multiple databases should, so instead of comparisons, just show your own benchmark test.

You also need to consider a stage of development, and goals, as well as Status, your Readme is too short, and your Wiki's only show stubs, so full examples should be a priority, as well as workflow diagrams.

I currently need an ORM that is working or has a timeline to one that will work at some point in time, so what you really need is a project manager that can update status, like most people, our support is normally limited to our interest or need for a project, my interest is long term, I will look for short term solutions that work now, but still focus on the long term, but I also need to know what is how there, so I know for myself, all the pros and cons, and ultimately what project I pick for the long term, all depends upon what I determine to be the best for my needs, and I need to know the answers to my questions just to get started.

Thanks, Flesh

HamedMasafi commented 4 years ago

Hi @Light-Wizzard So many thanks for contributing

The nut.pro make a static lib. The output name is libnut.a in src dir in build path. The configuration in src.pro is:

CONFIG += staticlib

You can remove it for making dynamic lib.

Every contribute to improvement documents are more than welcome, Because of my bad English, I can't work on the documents. Also there are a few documentation that is linked in README.

The build break that you experienced is for cd/ci compatibility but other users was built Nut successfully. Anyway give me few days time and I will tackle the problem.

For a working sample you can take a look at tests or this repo based on other issue: https://github.com/HamedMasafi/ormtest

The Travis and AppVoyer problem is related to its configuration that is not updated to new versions, I will fix them too.

The youtube can be nice work for presentation but I can't do it. I will be so happy if anyone make a video.

And about other ORMs. yep there are a lot. Like QxORm, odb and etc. My goal is creating an orm better than all of them (Just for Qt). So I'm really serious on this project.

mbnoimi commented 4 years ago

My goal is creating an orm better than all of them (Just for Qt). So I'm really serious on this project.

Thanks for the late response. It took from you 14 days to response my issue report which is a vital example for newbie by the way! As @Light-Wizzard said I also my interest is long term but unfortunately my startup was awful.