Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Technologies to create a simple family tree website

Options
  • 29-10-2015 11:18pm
    #1
    Registered Users Posts: 7,500 ✭✭✭


    Im an experienced C# developer but have never been involved in website work.

    I want to try and learn a bit about website development with a database.

    So everything starts with an idea.

    I want to create a simple family tree graph website where the family free is represented by a simple flowchart like display where each component object in the chart contains a unique Id, name, dob, birth location.

    Requirements:
    1. Anyone can view current chart. The site will only contain one chart. One user.
    2. Simple password protected form to add a new chart object where a parent or child will also be chosen.
    3. Will read/write data to database. I haven't chosen a host yet so this can be anything.
    4. Bonus feature. Download the current chart as PDF.

    Can anyone recommend the best technologies to use to accomplish the above description?


Comments

  • Registered Users Posts: 6,250 ✭✭✭Buford T Justice


    If C# is your thing, then why not look at something in .net


  • Registered Users Posts: 10,461 ✭✭✭✭28064212


    Any web/db framework will be suitable, .net makes sense if that's what you're familiar with. The db model will be relatively simple

    The bigger development work will come with drawing the tree, which is quite complex. You'll need to find a suitable graphing library, and learn quite a bit about graph theory

    Boardsie Enhancement Suite - a browser extension to make using Boards on desktop a better experience (includes full-width display, keyboard shortcuts, and dark mode). Now available through the extension stores

    Firefox: https://addons.mozilla.org/addon/boardsie-enhancement-suite/

    Chrome/Edge/Opera: https://chromewebstore.google.com/detail/boardsie-enhancement-suit/bbgnmnfagihoohjkofdnofcfmkpdmmce



  • Registered Users Posts: 7,007 ✭✭✭witnessmenow


    Im an experienced C# developer but have never been involved in website work.

    I want to try and learn a bit about website development with a database.

    So everything starts with an idea.

    I want to create a simple family tree graph website where the family free is represented by a simple flowchart like display where each component object in the chart contains a unique Id, name, dob, birth location.

    Requirements:
    1. Anyone can view current chart. The site will only contain one chart. One user.
    2. Simple password protected form to add a new chart object where a parent or child will also be chosen.
    3. Will read/write data to database. I haven't chosen a host yet so this can be anything.
    4. Bonus feature. Download the current chart as PDF.

    Can anyone recommend the best technologies to use to accomplish the above description?

    I think you are better off not doing a .Net solution if your main aim of the project is to learn you would be better off learning the more commonly used web technologies.

    For your underlying website I would look at using bootstrap, its makes it pretty easy to make a decent looking website fairly quickly.

    For the family tree I would just search for "family tree javascript" and pick something that looks good for what you want to do.

    For the database, use firebase.io or something. It would be free for a project like this. Its a hosted DB. The data is stored in Json format, which actually might suit this requirement seeing as you could nest objects. [EDIT] Forgot to mention that firebase can handle the authentication stuff for your admin user too

    If you wanted to go with a middle tier maybe go with something like node.js to learn something new, but to be honest I dont think you really need a middle tier for the project you are describing. You can hit firebase directly from your front end code.

    For hosting i would recommend going for digitalocean VPS. I have the $5 a month linux VPS running 6 or 7 different websites, including checkargos that gets a decent amount of traffic. There is a little bit of configuration to setting it up, but honestly there isn't that much and it is a really good thing to be familiar with. Its incredibly flexible as well to do it this way as you can literaelly install whatever you want on it. There are refferal links for digital ocean floating around that gives you $10 of credit if you use them (I'm sure you'll find one easy enough but shoot me a PM if you can't)

    Not sure on the PDF one, there seems to be websites that allows you to convert html to PDF, might not work with the javascript graphs though.


  • Registered Users Posts: 8,486 ✭✭✭brevity


    Im an experienced C# developer but have never been involved in website work.

    I want to try and learn a bit about website development with a database.

    So everything starts with an idea.

    I want to create a simple family tree graph website where the family free is represented by a simple flowchart like display where each component object in the chart contains a unique Id, name, dob, birth location.

    Requirements:
    1. Anyone can view current chart. The site will only contain one chart. One user.
    2. Simple password protected form to add a new chart object where a parent or child will also be chosen.
    3. Will read/write data to database. I haven't chosen a host yet so this can be anything.
    4. Bonus feature. Download the current chart as PDF.

    Can anyone recommend the best technologies to use to accomplish the above description?

    ASP.Net MVC & SQL on Azure. Could use gmail or Facebook API as login or ASP.Net Membership...

    Use Bootstrap for everything else.


  • Moderators, Business & Finance Moderators Posts: 9,991 Mod ✭✭✭✭Jim2007


    I think you are better off not doing a .Net solution if your main aim of the project is to learn you would be better off learning the more commonly used web technologies.

    On the contrary OP, start by leveraging your current skills rather than starting from scratch!

    - Uses your current skills to build your database, data access and business logic.

    - Add ASP.NET to get your website up and running (Forms or MVC). This should give you a good understanding of how the basics work

    - Switch to MVC, add bootstrap, JavaScript/TypeScript etc to polish it off

    Later once you have a good understand of how it all hangs together it is easy enough to switch to Ruby/Python/Node or whatever and your knowledge in bootstrap etc... can still be used.


  • Advertisement
  • Registered Users Posts: 7,500 ✭✭✭BrokenArrows


    Thanks for all the suggestions. I'll have a look into them.


  • Registered Users Posts: 586 ✭✭✭Aswerty


    Jim2007 wrote: »
    On the contrary OP, start by leveraging your current skills rather than starting from scratch!

    - Uses your current skills to build your database, data access and business logic.

    - Add ASP.NET to get your website up and running (Forms or MVC). This should give you a good understanding of how the basics work

    - Switch to MVC, add bootstrap, JavaScript/TypeScript etc to polish it off

    Later once you have a good understand of how it all hangs together it is easy enough to switch to Ruby/Python/Node or whatever and your knowledge in bootstrap etc... can still be used.

    Fine advice but I'd say to stay well away from Forms. MVC is the future on the .NET stack and anything learned using it is transferable over to the other technologies you mentioned. Also from a learning perspective you'll be much better off using MVC than Forms.


  • Registered Users Posts: 2,790 ✭✭✭John_Mc


    Jim2007 wrote: »
    On the contrary OP, start by leveraging your current skills rather than starting from scratch!

    - Uses your current skills to build your database, data access and business logic.

    - Add ASP.NET to get your website up and running (Forms or MVC). This should give you a good understanding of how the basics work

    - Switch to MVC, add bootstrap, JavaScript/TypeScript etc to polish it off

    Later once you have a good understand of how it all hangs together it is easy enough to switch to Ruby/Python/Node or whatever and your knowledge in bootstrap etc... can still be used.

    +1 and I'd throw in Entity Framework there as well. Who wants to be writing SQL these days!


  • Registered Users Posts: 869 ✭✭✭moycullen14


    Before you go any further, have a look at

    http://stackoverflow.com/questions/6163683/cycles-in-family-tree-software

    Especially, the 'I'm my own grandpa' section. :eek:


  • Registered Users Posts: 586 ✭✭✭Aswerty


    Before you go any further, have a look at

    http://stackoverflow.com/questions/6163683/cycles-in-family-tree-software

    Especially, the 'I'm my own grandpa' section. :eek:

    A perfect example of building for what can happen and not what is expected to happen.


  • Advertisement
Advertisement