Need to create a search tool to help users decide which hiking trail is right for them

Hello, I am trying to add a search tool to an existing website to help users find hiking trails that are appropriate for them. I need the search tool to work like this apartment search does:
Essentially, the options would include area of the province, if the trail requires a park pass, number of hours to complete the trail, whether the trail is by a body of water, etc. Users would click the options that they want, and then out of 50 trails the 5 trails that are right for them would appear.
I’ve done research online and honestly have no idea where to begin in creating something like this for our website. Is there a SitePoint course or ebook that could help me get started, or perhaps is there an online tool that exists that can help me build it and paste the code onto the site (it doesn’t need to be free). I’m not sure what components are required, like tagging, a database, or JavaScript, so any advice would be greatly appreciated.
Thank you.

The apartment search works because the site already pulls from a database, which may be offsite. (Example:

So in order to do what you want, there needs to be a database of that information somewhere.

So you’ll want to first learn HTML, CSS, and Javascript. Then you’ll want to learn PHP and MySQL. I think Sitepoint has books on these subjects. With this information in hand, you’ll have a better idea how to code a database of this information and include it in your site. Of course, if you can’t find a database on hand, you can beat the crowd and create one yourself, after much visiting and research, of course.

How does the existing website store the info about the trails?
Does it use a database for this already?
What back-end language does the site use, if any?
Is that using any kind of framework?

Thank you so much StevenHu! It sounds like my first step will be to sign up for an online database service and then insert the information for the 50 trails. It looks like Obvibase will work for me based on their demo.


I’m sorry. I reread the OP. I am really off track here. I was thinking this was for a larger scale project.

You would need to plug into someone else’s API and build it that way, or build a map yourself and plot some points and provide information about them. This could all be done on the frontend in JavaScript and a library like Leaflet with a map provider like Mapbox and you could maintain the other information on the frontend without a problem, as long as it wasn’t too large.

I believe you will have to maintain your own trail information, because I’m not aware of any API’s for this sort of thing, mostly because of some of the reasons I outlined in my other reply.

However, it is still not a total beginner project it is not nearly as hard as I originally made it out to be, but it’s probably not trivial. This is something a novice (not beginner) could do in a few days/weeks.

previous post:

I’ve actually thought of this product myself, because as an avid hiker I am very unhappy with

The problems I see with it are not technical in nature. Trails, even well maintained ones, are often poorly documented and information is usually found in sporadic places. Many times, the only way to find real information is from an actual ranger station and the only people who know about that trail in the world are the few people who work there.

Your best bet, is to create a crowsourced wiki. I believe this is what AllTrails does, combined with GPS tracks gathered from users using their own app. The problem is that AllTrails very obviously suffers from a bad internal approval system for changes to trails, which leads to rampant inaccuracy. Inaccuracy for things like this can be very dangerous. I’ve known people who have been stuck out at after dark, because AllTrails was off by 4-5 miles on a trail.

However, this is definitely not a beginner project. But I think having a goal is a great way to get started. There are a lot of things that go into creating something like this, frontend, backend, etc. and you’re to need all of it. Sitepoint offers great training in specific areas, but I think the only place to get a true full suite is FreeCodeCamp.

2 Likes used to be a good source for scripts but I have not used it for a few years.

You do not need to use a database service you can create your own.

I would start off with something simple and add the google map later.

You could modify an apartment script as it is basically a form querying a database and displaying the results. The same thing you want to do. You might confuse yourself a bit as it would have variables for rooms and you would actually be using mile!

Hi SamA74,
Right now the website just lists the trails and their descriptions by location, resulting in a lot of text users have to read through to find a trail that they want. We don’t have a database, but I’m looking at what online options are available. Thank you for your reply!

I must add people here will help you out but you have to do some work yourself.

1 Like

As @Rubble pointed out, you should not need that. Most hosts provide server-side scripting (generally PHP) and SQL databases. The chances are you already have those things available with your host.
But the other thing you need is the know-how to utilise those. I have no idea about your level of knowledge on this, but like @mawburn says, this is not a beginner project.

No, Obvibase won’t work. You need a database to query in order to return the information the user asks for. There are no options to pick among to get more specific, which is what you requested in your opening post.

If you want to make this a real project, then you’ll need to learn how to pull information from a database onto the html page. Again, you’ll need to learn PHP and MySQL for this.

Then you can visit a few places and enter all the information into your mobile device, transfer the file to the cloud, go home, open the file, and copy/paste the info into your database, and test. You can made the database local to your territory and personal visits to start with.

Whew, thank you for the warning.
I’ll go back to my team and let them know that this project will take a bit of time because there is a lot of stuff I still need to learn. Thank you for the extra details.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.