Medo de ser incapaz
Olá, boa noite! Sou Samuel tenho 16 e estudo programação e desenvolvimento desde meus 13, tenho feito curso tecnico integrado ao meu ensino médio, nisso veio o tcc, estou no segundo ano, mas isto está me preocupando profundamente...
Então, eu estou fazendo um streaming de música para meu TCC (Trabalho de Conclusão de Curso), nesse streaming terá uma IA de recomendação de músicas eu tenho grande medo se vou conseguir tankar isso, alguém, poderia me dar o caminho das pedras, ou pelo menos me dizer se talvez conseguirei?
Até então as tecnologias utilizadas serão estas:
Front-end: React e React Native Back-end: Nextjs Banco de Dados: Postgress SQL e Prisma IA: Python (Panda e PSYCOPG)
Completamente possivel de ser feito, basta adicionar TAGs as musicas assim você cruza as tags e indica... vou te da um exemplo: João ouviu Leonardo(tag: Antiga, Sertanejo), depois ele ouviu Milionario e Jose Rico(tag: Antiga, Sertanejo), nas recomendações eu vou mostrar pra ele Chitãozinho & Xororó pois segue as mesmas tags... recomendo seguir assim a partir de 4 musicas diferentes mudar as recomendações alem de oferecer para salvar nos favoritos assim o algoritmo fica mais preciso :D
Primeiramente parabéns pela ideia do projeto, parece bem interessante e vai trazer bons aprendizados.
Se você vai conseguir implementar dependendo muito do seu conhecimento prático com os temas falados e o quão avançadas vc quer essas features.
Eu recomendo elencar os requisitos e focar nos mais importantes primeiro. Sistema do player e das recomendações entregam muito mais valor do que contador de usuários/artistas ou menos crud das músicas. Principalmente se vc já tiver experiência prática com essas coisas mais básicas
Sobre a IA, gostaria de entender como vc pretende encaixar ela no projeto, que tipo de problema exatamente quer resolver. Acredito que uma solução mais "manual" como sugerida pelo @MatrixObeit é bem interessante e vc pode ir incrementando aos poucos pra deixar mais precisa. Isso dá pra implementar facilmente até sem uso de lib específica pra machine learning e afins.
IMO, é mais importante entregar algo funcional e entender bem os problemas e como eles foram solucionados para apresentar. Além disso é interessante pensar no que pode ser melhorado no futuro e apresentar o estudo com ideias de soluções viáveis mesmo que não esteja implementado ainda.
Bom, essa é só minha percepção (no meu curso nem TCC eu fiz então posso estar bem enganado rs)
Eu não entendi exatamente qual é a sua ideia pra dizer se é um projeto grande demais, mas mesmo que seja, você vai conseguir, a questão é em quanto tempo você vai conseguir, pode ser daqui 1 mês, 1 ano, 1 década...
Falando sério agora, eu não sei porque você escolheu essas tecnologias, também não sei se você tem experiência com projetos similares e também não sei os requisitos que o projeto precisa ter, a única coisa que eu sei é que parece um projeto grande demais, tu pode criar um projeto menor baseado nessa ideia, como uma ia que recomenda músicas personalizadas por exemplo ou tu pode escolher um outro projeto mais simples.
Talvez seja arriscado criar um projeto grande demais e desnecessário e entregar ele incompleto ou com muitos defeitos, pode ser melhor entregar algo pequeno e funcional, essa é só minha opinião manin, boa sorte com teu projeto ai :b
Cara se tu está com medo já é um alerta.
Se tu for fazer algo simples ( um crud com os artistas, musicas etc), armazenar algumas musicas no servidor a ao escolher dar o play e tocar, vai ser dificil mas talvez consiga (não recomendo).
Agora se for criar todo o sistema de buffering, download para offline, caches cdns, CMS para gerenciamento das musicas, IA para sugestões de acordo com que a pessoa houve, Um player robusto, ai talvez tu tenha problemas.
Antes de decidir veja se seu orientador do TCC sabe alguma coisa sobre streaming e se ele pode te ajudar caso enrosque em algum lugar.
Agora se nem seu orientador tiver tal conhecimento, creio que vai ser bem dificil e eu escolheria outro tema.
Acho que é completamente possível, mas obviamente vai dar trabalho. Aparentemente a tua maior insegurança é na parte da IA mesmo, então eu recomendo estudar sobre "recommendation systems".
Aqui tem um artigo legal, com exemplo num jupyter notebook, para dar um ponta pé inicial: https://towardsdatascience.com/recommendation-system-in-python-lightfm-61c85010ce17
Outra dica também, é procurar no Kaggle, eu sei que lá eles tem datasets com dados do spotify, e talvez você consiga encontrar algum modelo também (HuggingFace também deve ter algo).
Alguém me corrija se minha memória estiver falhando! Terminei meu ensino técnico integrado ao médio também, no centro paula souza, quase 8 anos atrás. E pelo que me recordo, um TCC de ensico técino não exige um protótipo avançadissimo..
Converse com seu orientador sobre o que vou dizer aqui antes de confiar em mim haha.
Você pode prototipar as telas, e esboçar a idéia da inteligencia de recomendações, e documentar a idéia. O que importa no tcc de ensino técnico é o documento que voce elabora. Mas ainda sim, um protótipo bem feito e completinho valoriza muito seu trabalho e sua nota.
Resumindo minha dica é: muito legal sua idéia, e se tiver confiante elabore o protótipo com essa funcionalidade sim, pois é um bom caminho para testar suas habilidades. Mas não se prenda nisso, o que importa mesmo é a documentação do seu projeto.
Man se tu quer recomendações legais da um olhada em naive bayes, talvez voce ache a solução usando esse algoritimo. tem um historia super bacana da implementação desse algoritimo pra detectar spam, pode ser que sua aplicação caia como uma luva meu nobre. Boa sorte e tmj!!