11
26 Comments

What framework should I use

Hi,

I'm starting a directory listing website. SEO is very important in this process, since I won't be spending alot of money on ads (at the beginning).

I prefer to use Angular for most projects but I know it isn't quite SEO friendly, and I know I can generate static pages.

I was also thinking about Laravel, because it's rendered server side I won't have to worry so much about SEO.

I won't be using any pre-built cms systems like wordpress, because I want to add alot of custom functionality.

What's your take on this? Any recommendations (can be other frameworks too)?

With kind regards,

Jonah

  1. 3

    I don't know if you have any specific requirements, but for directory listing, I would pick a headless CMS and develop the front-end on top of it. It will save a lot of time.

  2. 2

    There is a well supported method for server side rendering in Angular called Angular Universal. I have used it for several years on Episode Ninja and am getting hundreds of thousands of page views per month through organic SEO. If you are already familiar with Angular, it only takes a few hours to hook in Angular Universal.

  3. 2

    Not seeing this suggestion yet: What about pre-rendered static pages? Lots of options out there (Jekyll, Hugo, easy to roll-your-own, etc.) - can't get any faster and therefore SEO friendly than that.

  4. 2

    If I were you I would use React and Gatsby. It's extremely quick, and very SEO friendly. You really get the best of both worlds with a static hosted site. I know there are some tools that do a similar thing with Angular so they might be worth looking into.

    I also agree with a headless CMS. I'm not sure if you have ever used one before, but it's not like WordPress where it limits you. You basically get a nice user interface to login to and have an API to get all your content from.

  5. 2

    We went with NextJS for building https://wikicoins.com(currently in testing). It supports SSR and it's opinionated well.

    No major issues with NextJS & firebase so far. We are close to our MVP release in under 3 weeks!

  6. 2

    I can't say enough good things about Laravel but that's because it's my daily bread & butter and I'm biased. But it's a lot of fun to build things in it. Now of course it's almost impossible to steer someone towards something I like, but my suggestion, if you have time, is to try out a couple different frameworks to see which one allows you to be more productive and is also more fun to use.

    Laravel has another advantage that very few other frameworks have: Laracasts, which has several free full-length in-depth video courses that teach you Laravel from the ground up. You could go through a few of those and see if it gels with you. The Laravel community is also amazing.

    1. 1

      I have alot of experience in Laravel, but I've learned from experience that it's not always best to pick what you already know. Especially if it can limit the full potential of a product/project.

      1. 1

        Fair enough, but now I'm curious. What kind of limitations have you bumped against with Laravel? It's pretty robust all the way to an enterprise-level app, and probably beyond. But yeah, any language or framework is bound to have some limitations.

  7. 2

    You could use a WordPress for that... I would recommend even if you are a developer.

    You will be able to focus on adding value instead of fixing code lines. Then if it sticks, you can start your own solution, but will all the feedback gathered from Wp days...

  8. 2

    You just don't need a heavy-weight front-end framework for a directory listing website. As you said, SEO is critical for this kind of site. Laravel (or any other Rails-inspired MVC) is a great idea and will get you across the finish line much more quickly.

    There's no need to complicate your stack or slow things down with something like Angular to start this project! If the need ever does arise for part of your site, you'll always have that skill in your back pocket, though.

  9. 2

    As you mentioned already, Angular JS is going to be a problem when it comes to SEO. You need a server-side rendered UI for correct search engine indexing.
    If I were to build a directory listing service, I would go for a NodeJS backed, Express JS Framework with EJS as the templating engine because it requires the least amount of learning. EJS very much follows HTML syntax. For the database, I would go for MongoDB because it's easy to work with compared to any other SQL databases. Nginx would be my choice of server, it's easier to configure and even faster than apache.

  10. 1

    If you're comfortable with angular, it might be worth just dropping in Angular Universal: https://www.youtube.com/watch?v=-VDOAjzLcvQ

  11. 1

    if u know what you do with Singlepage app framework u good
    as its hard to do SEO things with it

  12. 1

    I know these questions from myself. But honestly, it does not matter at all. Use whatever you are comfortable and productive with and get your version 1 out asap. Everything else will follow and can be changed later.

  13. 1

    Some additional information:
    I was thinking about MongoDB as my database and NestJS as my API framework.

  14. 1

    I built https://caseconverter.pro/ (not completely ready yet) with Next.js + express. It is a server-side rendered app, so it is easy to parse for the robots. As a template I have used: https://github.com/zeit/next.js/tree/canary/examples/custom-server-express

  15. 1

    Phoenix Framework looks good too if you don't want a separate frontend framework and want the backend to scale well.
    Else, I'd suggest GatsbyJS. The html is generated at build time so SEO is not a problem as compared to other SPA solutions.

  16. 1

    I spent quite a bit of time looking around, and well no one can really give you a good answer without knowing what your needs are! However, since you mention that you want things to be statically generated, perhaps you can look at Next.js?

    I'm using it myself, and server-side-rendering gives the best of worlds where your server returns a fast first response, and subsequent client-side requests are super fast. Next also supports many different deployment targets, like serverless, or even native desktop, but I don't have experience with that.

    Check it out:
    https://nextjs.org/

    1. 3

      I've used nextjs, and it's a lot of unneeded complexity for a directory listing site. Laravel out of the box is fine.

      1. 1

        It appears that OP is familiar with a JS stack, since he says he/she prefers Angular, perhaps over Laravel. For myself, I am most comfortable with a rails stack and do agree with you, but I would say to each his own.

  17. 1

    For https://saaspages.xyz/ I used React and Gatsby, but I plan on rebuilding it most likely in Django (any MVC framework would work), as I want logins etc without the complexity of a SPA.

    1. 2

      Take a look at this SaaS Django template: https://www.saaspegasus.com/ It's by a fellow IH'er, @czue: https://www.indiehackers.com/product/saas-pegasus No, he hasn't asked me to write this :)

      1. 1

        I know it :)

        He wants to build a "directory listing website" else I would have recommend him something like that.

        1. 1

          Thanks for the shout out @hostedmetrics!

          @volkandkaya - Pegasus is designed to make rolling out something with user accounts on Django a breeze. I'm also happy to offer a big discount to a fellow indie hacker. :) if you're interested just hit me up over email - cory [at] saaspegasus.com. Realize that Pegasus may not right for OP but would be happy to help you port saaspages across if you're interested in moving to Django!

  18. 1

    Hey man!

    My approach would be to stick with your skillset + work with things that will be the fastest way to "victory"

    WordPress does give a lot for free, and you can customize it with custom functionality, which is great if you're a good PHP developer.

    Angular will probably be the easiest way to make a great experience for your users if you're good at it, of course, you'd have to setup SSR to get the most out of SEO (but google is better these days and is able to read JS-based frontends, so not sure how bad a non-SSR solution would be)

    I never touched angular, but in React there's pre-rendering (a form of rendering for bots but won't give you SSR)

  19. 0

    Go with what you're comfortable with. You could use Laravel as your backend and Angular as your frontend so you have the best of both worlds. You could also use NodeJS with a framework such as Sails, Adonis, Feathers etc.

    You could also go with Next if you're comfortable with React or Nuxt if you're comfortable with Vue since they can both do serverside rendering. It really depends on what you know and what you're comfortable with since you won't want to spend most of your time learning a new language/paradigm when you really want to focus on your project.

Trending on Indie Hackers
How I grew a side project to 100k Unique Visitors in 7 days with 0 audience 49 comments Competing with Product Hunt: a month later 33 comments Why do you hate marketing? 29 comments My Top 20 Free Tools That I Use Everyday as an Indie Hacker 18 comments $15k revenues in <4 months as a solopreneur 14 comments Use Your Product 13 comments