1. Download our Official Android App: Forums for Android!

Apps Is this app too complex for a college project?

Discussion in 'Android Development' started by nvm12, Sep 14, 2016.

  1. nvm12

    nvm12 Lurker
    Thread Starter
    Rank:
    None
    Points:
    5
    Posts:
    3
    Joined:
    Sep 14, 2016

    Sep 14, 2016
    3
    0
    5
    Male
    I'm about to start working on my college final project. It's going to be an Android recipe app. The who idea of the app is the ability to search recipes by ingredients, preparation time, cooking method, category... etc. In addition, it will have the following features:
    • Users, with groups (regular, admin... etc), where admins get an activity/options available only to them.
    • Users can add their own recipes to the database, but first an admin must approve it (in this case, me). Recipes would have an "approved" column in the database which changes to "true" or something for recipes that get approved, and is only available to other users when approved. Otherwise it gets removed from the database.
    • In the activity that's exclusive to admins, they can see pending recipes, edit them, and approve or disapprove them with a button click. Users will get notified whether their recipe was approved or not.
    • A "favorites" feature so users can save their favorite recipes (no idea how I'm going to implement this. Will I need a separate database table just for this?).
    The database will have 4 tables:
    • A recipe table (obviously).
    • An ingredients table.
    • An additional table to specify which ingredients are need for each recipe (via their ID's).
    • A users table.
    As my database I'm using back{4}app (based on Parse).

    One person on another forum told me it's too complex, and another one told me that it's a really serious project even for an experienced developer. I don't wish to get stuck with it for months on end, especially that I've already delayed it for a year (was supposed to do it last year, but I still have 6 more years, lol). I want to create something superb, but at the same time I want it to be feasible, and done in ideally 1-3 months, or 5 months in the worst case. I will get maybe 2 hours per day to work on it. Is it really too complex for a college project? If yes, what features do you suggest that I leave out?
     

    Advertisement

  2. LV426

    LV426 I say we take off and nuke this place from orbit
    Moderator
    Rank:
     #11
    Points:
    1,988
    Posts:
    7,856
    Joined:
    Oct 16, 2015

    Oct 16, 2015
    7,856
    11,473
    1,988
    Male
    Software developer
    South West of England
    That is a very good idea for a project, however I do have some worries that it may be a little challenging, given your time constraints.

    Is the database located on a central server, with the app installed on users' mobile devices querying the remote database?
    If that is the case, and given the level of functionality you're proposing, I think it's going to be challenging to get that done in your timescale, and work time available. Client/server web applications have a lot of moving parts, and aren't the easiest thing in the world to implement.
    Also consider the testing aspect of your project, which is often overlooked, and takes a real chunk of time.

    And I'm assuming that you're very familiar with Java, Android app development, Web services, and SQL, because there will be little time to learn any of that.

    Great idea though, but maybe scale back a bit? I actually quite like the idea of entering a bunch of ingredients and asking the app to come up with suggestions. You could design the algorithm to find a best match, or suggest other additional ingredients that would complete a recipe.

    Believe me, 1-3 months will flash by, if you can't devote a lot of time to this. And bear in mind you need to go through a design phase of deciding how your UI will look. And I say again, don't overlook the testing needed.
     
    mikedt likes this.
  3. nvm12

    nvm12 Lurker
    Thread Starter
    Rank:
    None
    Points:
    5
    Posts:
    3
    Joined:
    Sep 14, 2016

    Sep 14, 2016
    3
    0
    5
    Male
    Thank you for your reply.

    I'm not really very familiar with Java and Android. I mean I know just the stuff I've studied, but I barely have any experience actually working with them. I have no idea how Web services work. As for SQL, although I know how to write queries and all, I won't be needing it, since back{4}app, the server I'll be using, is a NoSQL server based on Parse. Do you suggest that I use a local SQL database and omit the whole user idea? If yes, what local database servers do you recommend?

    As for the UI design, I'm considering downloading templates and all the UI stuff from websites such as this: http://www.sketchappsources.com/. I mean since I'm not a designer, it would be much easier this way. I imagine even for a professional app you would need a professional designer to design the UI for you, no?

    In what way do you think I could scale back? What features do you think I should leave out? I was thinking maybe I could leave out the users idea and insert a set number of say 50 or so recipes in the database that the app can work with (with the ability of adding, removing, and editing recipes from within the app itself). Do you think this would be a better idea? I would like to hear any suggestions you might have, it would really help.

    Thank you again. Much appreciated.
     
  4. LV426

    LV426 I say we take off and nuke this place from orbit
    Moderator
    Rank:
     #11
    Points:
    1,988
    Posts:
    7,856
    Joined:
    Oct 16, 2015

    Oct 16, 2015
    7,856
    11,473
    1,988
    Male
    Software developer
    South West of England
    Yes drop the user idea. Also forget the idea of connecting to a server.

    Use a local database on the device. SQLite is part of the Android system and available to all apps.

    Start off with an initial set of recipes, and allow the user to add/modify/delete.

    Your proposed database schema is ok, except that you don't need the users table.
     
  5. nvm12

    nvm12 Lurker
    Thread Starter
    Rank:
    None
    Points:
    5
    Posts:
    3
    Joined:
    Sep 14, 2016

    Sep 14, 2016
    3
    0
    5
    Male
    Or I could have a local users table... Would this work?

    How long do you think it would take without the connecting to a server stuff?
     
  6. LV426

    LV426 I say we take off and nuke this place from orbit
    Moderator
    Rank:
     #11
    Points:
    1,988
    Posts:
    7,856
    Joined:
    Oct 16, 2015

    Oct 16, 2015
    7,856
    11,473
    1,988
    Male
    Software developer
    South West of England
    I would say that's achievable in yore time frame.
     

Share This Page

Loading...