14
30 Comments

New app/database: where do I start?

I would like to create an app that is connected to a database of recipes (web based). I would like to be able to access and edit my recipes, create new ones and get notifications on the app.
I am thinking of having these recipes in a platform like CodeIgniter or similar.
But where do I start creating an app, what is the best platform or software to do this?
I'd appreciate any advice as this would be my first app. Thanks!

  1. 3

    Aside from recommendations, there are a couple of specifications you need to examine. The number of records your database will have and the storage size. Each CMS (content management system) platform will have various amounts and limitations.

    I agree with others' assessments that no-code solutions will be where your initial focus and prototyping is done. With Webflow, you have the ability to build it out, export the source code, and do a database dump [they have a 10,000 record limit]. Therefore, you don't have a dead-end and wasted dev time.

    Then, if you find that you do have to go down the route of a custom web application, you have half your work done and you'll just need to make a web API and "wire it" to the front-end. From how you described it, it doesn't sound like you would need to go down that path though, and no-code solutions have plug-ins or integrations that take care of many additional problems.

    1. 1

      Great point @DestroyOnLoad about the limitations. I will check out webflow as I wasn't considering it before. I wonder if you can serve ads with no-code though, I will need to investigate. Thanks!

      1. 1

        Webflow does involve some light code. If you just want to flesh out your idea, it may be more time-efficient to go with a design-only application like figma.com. It's simpler and free too.

      2. 1

        Yes you can. With Webflow, you just use Rich Text element and then there is an embed option. It's incredibly simple. https://university.webflow.com/lesson/rich-text#add-custom-code

        I'm guessing your recipes would have text links and some image ads (like Amazon affiliate). Yeah, that's a breeze.

  2. 2

    I think you should try Nodejs/MongoDB. Fairly easy to start with and you can build your entire web, mobile and desktop application with one stack (MERN, React Native & Electronjs). You can also try Tailwindcss or ChakraUI for building the front-end of the application.

    P.s. I'm building my side projects using javascript.

    1. 2

      Yes, if the no-code route doesn't do it for you and you find you need to go down the tech route, then you should definitely go with MERN as it's one of the most popular and supported stacks out there. It's also lightning fast for the user. Your front-end could also be from Semantic React or Material-UI, which both look much better than Tailwind or Chakra in my opinion.

  3. 2

    Hey Claudia,

    From your profile / question I assume that you are not that techy. I am a developer and I have always been surprised with how the 'no code' movement has been progressing. If you plan on building this on your own and don't have experience writing software I would look into these tools and see if they can do what you need.

    • Wix
    • Airtable (for storing data)
    • Squarespace
      Also I think there are some good IH podcasts on this topic, so definitely check those out.

    If you go the development route it is really a choose your own adventure, most languages has its CodeIgniter alternative. If you choose to go this route I would pick one of the following

    1. Python (Django)
    2. Ruby (Ruby on Rails)
    3. PHP (CodeIgniter)
    4. Java (Spring)

    I would first study the language and get comfortable with writing simple programmes, this is so you don't get stuck when working on your project.

    I hope this helps

    1. 2

      Please, not Codeigniter. It's an old framework that is completely not for today's standards of PHP coding.

      Check Symfony or Laravel instead.

    2. 1

      Thank you @mark_haynes, I'm not techy when it comes to app development, that's why I ask. I am familiar with PHP and Ruby, but don't want to reinvent the wheel. So I will check out the podcasts as per your suggestion. Thanks!

      1. 1

        Avoid Wix, I heard too many bad things about it.

        For settingup your server you have few options, if you want to use Ruby Render.com is one (Indiehackers.com is running on Render.com and for authentication they are using Firebase authentication).
        I recently started on https://Railway.app for my nodejs and python apps, its very easy to setup.

        Database: There are few options, if you want noSQL DB Firebase Firestore is reliable. Most of my web apps are built on Firebase platform (including my most famous one https://Watermark.ink ). If you want to go for RDBMS you can use Render db or you can go with https://Railway.app Railway app is giving a free db (I feel it is still in beta but they are friendly, actvive. group. I am on their paid option just to support them). DigitalOcean DBaas service is another option, I prefer Render DB or RailwayDB instead of DigitalOcean for their easyness.

        1. 1

          Avoid nosql databases. Just use Postgres from the very beginning. Also avoid JavaScript on the back end.

        2. 1

          Thank you @prakis, I don't like wix either. I was more thinking of Laravel. But just checking options for now. I will check your links. Thanks again!

          1. 1

            Wordpress could be a solution, if you want a simple website to post recipes.
            If instead you want something more complex, you can look at Laravel & OctoberCMS. Or build your own solution with Laravel. Is pretty easy to build your own blog with Laravel.

  4. 2

    Commenting and upvoting for better reach. Good luck for your project

    Venkat

  5. 1

    If you're looking for something that'll get you started quickly but will also scale indefinitely, I'd check out Encore: https://github.com/encoredev/encore

  6. 1

    I would start by using different apps or websites already in place to make your life easier. I personally use the website twik for all things personalization. I wish you all the best!

  7. 1

    Are you talking about a mobile app for Android and iOS?

  8. 1

    Sounds like a perfect use-case for: nhost.io

  9. 1

    Hi

    I am an open-source security developer. I build and maintain the Databunker project (https://databunker.org/). Databunker is a network-based, self-hosted, GDPR compliant, secure storage for personal data.

    Databunker will make your company or service privacy by design compliant and it is absolutely for free.

    Yuli

  10. 1

    Hey Claudia,

    I can't add anything new to the comments above. However, I was also thinking about an app that tracks recipes. I would love to share my pains to see if we are thinking in the same direction. If so, you will get a user without even starting the project =D.

  11. 1

    First of all, congrats on making the decision to make your first app!
    There are some factors you have to take into consideration, over and above the ones mentioned in the comments. This is if you decide to write the code yourself.

    1. The backend framework to use will depend on your long-term goals. There are two design patterns you could look into;
      a) The traditional Model View Controller(MVC) pattern, where the frontend and backend are in one code base. Frameworks like Django, CI, and laravel are great for this. This is also a much easier approach for code newbies.
      b) Decoupling the frontend and backend. This mostly involves having a backend framework to have a REST API. Still, the ones mentioned above provide such capabilities and have excellent documentation and communities. For the front end of the app, you can look into any modern js frameworks (Vue, React, Angular), which would consume data from the API. This approach will take you a much longer time and the learning curve can be quite overwhelming as you're trying to understand the backend and frontend concepts. You might find yourself learning many concepts at once. However, the advantage of this is that in the future, once you're ready to have a mobile app, you won't have to rewrite the code to be API-based. For a beginner with REST, strapi.js is relatively simple to work with. Firebase is also a simple alternative, which I would highly recommend.

    2. The traffic you're projecting to have on the app. some languages are faster than others. However, most languages have been optimized recently.

    3. For notifications, are you talking about push notifications? email notifications? if it's email, check on the email sending capabilities of the framework you decide to use and how easy it is to work with events that will trigger the notification sending.
      If it's a push notification, that will involve having some understanding of web sockets.

    4. The database I'd recommend using is any relational database, Postgres being a good candidate. For development on your machine, sqlite3 will just do.

    With all this said, I made a recipe app a couple of months ago, which I'd be more than happy to share the source code :).
    All the best in your journey....

  12. 1

    One factor to consider is how interactive your app will be. If you primarily just want to display data (recipes etc) then a CMS makes sense. You can easily access it and add/edit recipes without needing to touch the website once launched.
    I have a blog starter that integrates Next.js with Contentful that might be helpful: https://nextails.com/templates

  13. 1

    I'm a big fan of the advice 'always own your platform'.

    Since you know PHP and Ruby I'd recommend using one of these alongside a server and database - e.g. setup on AWS Lightsail with a LAMP instance is quick and is a standard server with Linux, Apache, MySQL, PHP.

    I know that you're not keen on reinventing the wheel but any time I've used off the shelf solutions for things they don't stand the test of time. A few years down the line the platform updates itself (sometimes to a square wheel) and you are landed a whole lot of work to keep things going.

    It's more trouble in the long run and any skills you learn along the way will be platform specific so possibly useless when the platform dies.

    1. 1

      Thanks @ryanGlass, yes, I guess this is also important to consider.

  14. 1

    Recommend watching a load of YouTube videos from developers who are en expert in DB's.
    Watching them code i find helps me learn quicker.

  15. 1

    Check out https://www.makerpad.co/ for tutorials of how to build application using "No-Code" tools. You can build quite powerful type of applications using No-Code and it will be a pretty good way to build an MVP of your application.

    If we're talking about coding an app from scratch, I would probably build it using Laravel + PostgreSQL since you already have some PHP experience.

    1. 1

      Thank you @marcuslind90, I will check out that link. So many great points here, thank you everyone!

  16. 1

    If you like to create native apps you could use Adalo, or Flutterflow (flutterflow is in Beta, but it has insane potential! Since you actually can download the code!) for example.

    For webapps you can use Bubble, it has a good amount of plugins etc.

    For the past year everytime I had an idea I tried to build it big and perfectly, but everytime it failed, because it was becoming to big, so I would suggest to go for minimal stuff! As of right now I simply use webflow and JotForm for my project, instead of immediately trying to build a complete app or so. It is possible, but you have to know what exactly you want to build haha, so don’t fall for the “oh I can build this and that too!” Trap haha

    1. 1

      Thank you @DylanS, yes, I guess I need to do something very simple to start with. I would like to serve ads as well, not sure if those platforms have that possibility. I will check them out!

  17. 1

    This comment was deleted 19 days ago.

Trending on Indie Hackers
Launched a website for programmers to spend their free time on 14 comments Clubhouse or Twitter Spaces? 11 comments 🔥 or 💩 ? Rate our new Ollie Landing Page 9 comments What I learnt roasting 200 landing pages in 12 months 🍗 👀 9 comments Twitter Tip Jar is official, thoughts? 5 comments Trigger based SaaS integrations: webhooks vs Zapier 5 comments