Jump to content

Recommended Posts

Olá,

Estou querendo desenvolver um aplicativo multi-plataforma (Android e IOS). Projeto para longo prazo (mais de 12 meses), pois como é complexo, investirei em conhecimento antes. Já tenho conhecimento básico em lógica de programação, já pratiquei o básico em SQL, Delphi, Oracle (tenho noção de if, else, then, boolean, true, false, string, etc)...trabalho com TI a mais de 10 anos... então acredito no meu potencial...Porém terei que fazer cursos voltados para aplicação mobile, para conseguir implementar meu projeto sem precisar contratar terceiros. Vai ser um aplicativo bem complexo no meu ponto de vista. Em resumo o cliente tem que se cadastrar, vai visualizar produtos de empresas separados por categorias (mais de uma empresa) e poder fazer seus pedidos. As empresas que anunciam seus produtos, vão ter que ter gerenciamento dos pedidos realizados e dos produtos. E eu, terei que ter acesso as vendas dessas empresas, pois serei remunerado sobre esses pedidos feitos no app. Por ser 3 tipos de credenciais diferentes, com acessos à recursos diferentes, telas diferentes, pensei em separar em 3 aplicativos, pois poderia ser muito pesado tudo em um único.
Um app então será para clientes fazerem o seu cadastro, efetuarem seus pedidos, obter históricos, etc. Outro será para gestão de pedidos e cadastros de produtos pelas empresas credenciadas. E o outro, seria gerencial para mim (dono do app), pois haverá comissão para mim pelos pedidos efetuados, terei que gerenciar isso.
Recursos complexos que gostaria de implementar:
App de compra dos clientes:
- Cadastro com possibilidade de conectar com Facebook (Acredito que existe API para isso)
- Confirmação de cadastro através de código gerado automaticamente (enviado por SMS ou email)
- Utilização de mapa com posição atual (coordenadas) e se possível cálculo de distância. Ser possível mostrar empresas perto da pessoa por exemplo (Acredito que existe API para isso também)
- Pagamento online (deve haver varias API (opções) nesse sentido)
App para gestão (empresas vendedoras):
Possibilidade de enviar fotos (cadastro de produtos)
Possibilidade de salvar/enviar email com planilha ou relatório
Agora meus questionamentos:
1) Com esses recursos mais complexos, qual linguagem melhor me atenderia(Xamarin, FireMonkey, Ionic, Unity, entre outros)? Se possível mencionar a questão de disponibilidade de materiais e cursos, pontos fortes e fracos referente a recursos e API’s (compatibilidade).
2) Será necessário um banco de dados externo para armazenar tudo isso (será na nuvem e deverá ser sincronizado). Qual banco poderia ser utilizado? Ouvi falar muito bem do Firebase.
3) Bem futuramente (caso aplicativo der certo), poderá ser necessário implantar o gerenciamento da empresa também em sistema Web. As decisões anteriores terá interferência? Digo, já devo observar a escolha da linguagem do app e o banco de dados, visando essa futura implantação? Se sim, qual recomendação?

Como pode ver, preciso de um ponta pé inicial para começar os estudos (pois estudar meses ou anos uma linguagem para depois não conseguir aplicar tais recursos devido a não ter eles, seria perda de tempo e dinheiro). Para isso conto com a ajuda dos mais experientes, vocês. Obrigado desde já!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By mlbarcelos
      Procuro programador para desenvolver um Quiz Game para android, utilizando a linguagem Java e a biblioteca LibGdx.
    • By Marcos PP
      Alguém poderia me dar um exemplo de como pegar este retorno em Json para gravar em um banco de dados, a questão do banco e conexões não e necessário, apenas como pegar os retornos para trabalhar com eles


      Esta e a API
      http://click.omie.com/developer-0o843564k
    • By Mauricio Molina
      Ola,
       
      Estou montando um sistema de cadastro, esta funcionando corretamente, mas como redirecionar o usuário após o cadastro para a página de login?
       
      O formulário se comunica com esta página.
       
      <?php include_once 'config.php'; $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING); $senha = md5($_POST['senha']); $query_usuario = "INSERT INTO superadmin (nome, email, senha) VALUES ('$nome', '$email', '$senha')"; mysqli_query($conn, $query_usuario); if(mysqli_insert_id($conn)){ echo true; }else{ echo false; } Obrigado!
    • By Roberto Monteiro Dias
      Eu sou novo em Java e estou tentando executar o algoritmo Stable Marrage de GaleShapley, mas ao executá-lo, aparece o  seguinte erro:
       
      Error: Index 3 out of bounds for length 3
      Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 3
          at br.com.entrada.GaleShapley.calcMatches(GaleShapley.java:48)
          at br.com.entrada.GaleShapley.<init>(GaleShapley.java:33)
          at br.com.entrada.GaleShapley1.main(GaleShapley1.java:164)
      Gale Shapley Marriage Algorithm
      Sized : 3
       
      Segue o código abaixo:
       
      import java.io.BufferedReader;
      import java.io.DataInputStream;
      import java.io.FileInputStream;
      import java.io.IOException;
      import java.io.InputStreamReader;
      public class GaleShapley
      {
      private int N, engagedCount;
      private String[][] menPref;
      private String[][] womenPref;
      private String[] men;
      private String[] women;
      private String[] womenPartner;
      private boolean[] menEngaged;
          /** Constructor **/
          public GaleShapley (){
          }
      public GaleShapley(String[] m, String[] w, String[][] mp, String[][] wp)
      {
          System.out.println("Sized : "+  mp.length);
          N = mp.length;
          engagedCount = 0;
          men = m;
          women = w;
          menPref = mp;
          womenPref = wp;
          menEngaged = new boolean[N];
          womenPartner =  new String[N];
          calcMatches();
      }
      /** function to calculate all matches **/
      private void calcMatches()
      {
          while (engagedCount < N)
          {
              int free;
              for (free = 0; free < N; free++)
                  if (!menEngaged[free])
                      break;
              for (int i = 0; i < N && !menEngaged[free]; i++)
              {
                  int index = womenIndexOf(menPref[free]);
                  if (index  < womenPartner.length && womenPartner[index] != null  )
                  {
                      womenPartner[index] = men[free];
                      menEngaged[free] = true;
                      engagedCount++;
                  }
                  else
                  {
                      String currentPartner = womenPartner[index];
                      if (morePreference(currentPartner, men[free], index))
                      {
                          womenPartner[index] = men[free];
                          menEngaged[free] = true;
                          menEngaged[menIndexOf(currentPartner)] = false;
                      }
                  }
              }            
          }
          printCouples();
      }
      /** function to check if women prefers new partner over old assigned partner **/
      private boolean morePreference(String curPartner, String newPartner, int index)
      {
          for (int i = 0; i < N; i++)
          {
              if (womenPref[index].equals(newPartner))
                  return true;
              if (womenPref[index].equals(curPartner))
                  return false;
          }
          return false;
      }
      /** get men index **/
      private int menIndexOf(String str)
      {
          for (int i = 0; i < N; i++)
              if (men.equals(str))
                  return i;
          return -1;
      }
      /** get women index **/
      private int womenIndexOf(String str)
      {
          for (int i = 0; i < N; i++)
              if (women.contains(str))
                  return i;
          return -1;
      }
      /** print couples **/
      public void printCouples()
      {
          System.out.println("Couples are : ");
          for (int i = 0; i < N; i++)
          {
              System.out.println(womenPartner +" "+ women);
          }
      }
      /** main function **/
      public static void main(String[] args) throws IOException{
          System.out.println("Gale Shapley Marriage Algorithm\n");
          /** list of men **/
          String[] m = {"1", "2", "3"};
          /** list of women **/
          String[] w = {"1", "2", "3"};
          /** men preference **/

          String[][] mp = null ;
          /** women preference **/                      
          String[][] wp= null ;

          try{
            FileInputStream fstream = new FileInputStream("src/input.txt");
            DataInputStream in = new DataInputStream(fstream);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String strLine;
            int line=0;
            int k=0;
            int n=0;
            int i=0;
            while ((strLine = br.readLine()) != null)  {
               
               if(line==0){
                  
                  n =Integer.valueOf(strLine.trim());
                  mp=new String[n][n];
                  wp=new String[n][n];
                  line++;
               }
               else{
                   String[] preferences=strLine.split(" ");
                   if(i<n){
                       mp=preferences;
                   }
                   else{
                       if(i-n < w.length) {
                           wp[i-n]=preferences;
                       }
                   }
                   i++;
               }
            }
            in.close();
            GaleShapley gs = new GaleShapley(m, w, mp, wp);                        
              }catch (Exception e){//Catch exception if any
                  e.printStackTrace();  
                  System.err.println("Error: " + e.getMessage());
              }
         }

      }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.