Git Product home page Git Product logo

cronica's Introduction

Cronica

Cronica Icon

Cronica is a minimalist watchlist app that reminds you about upcoming releases.

Twitter: @CronicaApp GitHub license MIT badge

Cronica Home view Screenshot

About

Cronica is built using Swift and SwiftUI, it uses Core Data to persist the user's watchlist, and CloudKit to sync the list effortlessly between the user's device.

To provide release notifications, the app takes advantage of local notifications to notify users about new episodes or a movie release. To keep notifications useful, there's a background task that updates item values with new information using TMDb API, if needed.

Thanks to CloudKit and SwiftUI, Cronica also can run on every Apple device, and the information will automatically sync.

Project Organization

If you want to contribute with code, here are some important details about the project's organization:

  • The code-base for the Mac, iPhone, iPad, and Apple TV versions is shared and resides within the "Shared" folder.
  • While the Apple Watch also utilizes the same networking as the other platforms, it has a different user interface (UI) design. The Apple Watch-specific UI components are located in the "Apple Watch" folder. However, certain UI components are shared among all platforms and can be found in the "Shared" folder.
  • The views are organized based on their relationship with models or functionality. For instance, the "ItemContent" struct represents data fetched from the TMDb service, which can refer to a movie or a TV show. The UI elements associated with this struct are grouped under the "ItemContent" group in the "Views" folder. An example of such a UI element is the details page that users see when they open a movie.
  • The logic for most of the views is separated using extensions, primarily to help maintain the project in the long run.
  • If you have any questions, feel free to reach out to me via email, Twitter, or iMessage. I'll be happy to assist you.

Help Translate Cronica

Contribute to the localization efforts of our open-source project by assisting in the translation of the application into your native language. Utilize the provided xcstrings file, which contains all the strings requiring translation. Simply send your completed translations via email, and I will ensure their incorporation in the upcoming update. Your contributions play a crucial role in making Cronica accessible to everyone. Thank you for your support!

Build information

This project targets iOS 17, iPadOS 17, watchOS 10, macOS 14, tvOS 17, visionOS 1 and requires Xcode 15.

To get started you'll need to:

  • Get an API key to use TMDb API, you can get yours at their website, after that, go to Shared/Configuration/Key and replace the value of tmdbApi with your own key.

App Store

iOS/iPadOS

Cronica running on iPad displaying the details page for the TV Show Kaguya-sama: Love Is War.

Badge for download Cronica on App Store

Apple Watch

Cronica running on Apple Watch S7.

Badge for download Cronica on Apple Watch App Store

Mac

Cronica running on MacBook Air displaying details for Top Gun: Maverick.

Badge for download Cronica on Mac App Store

Apple TV

Cronica running on Apple TV displaying details for Top Gun: Maverick.

Badge for download Cronica on Apple TV App Store

Apple Vision Pro

Cronica running on MacBook Air displaying details for Top Gun: Maverick.

Badge for download Cronica on Apple Watch App Store

QR Code

App Store QR Code

Contact

cronica's People

Contributors

madeiraalexandre avatar tomegger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cronica's Issues

Improvements when adding to list

Is your feature request related to a problem? Please describe.
It could have an option in the behavior settings, to change the add and remove option, so that each time it is clicked, it asks which list, and it would be of great help, if we can change the default list, in case we want to add several from the discover tab in a Completed list

At first I was quite confused, where would I be saving the list, but then I noticed that it was saving in

https://www.themoviedb.org/u/aleh_hyun/watchlist

because the name is just

Title: Lista
Description: Lista padrão

It could be
Title: Lista de interesses

Describe the solution you'd like
Screenshot page of film

When clicking add to list, something like this appears 👇

Screenshot page of list

and also be able to choose a default list in behavior

Screenshot page of behavior

Describe alternatives you've considered

I currently use:
https://mydramalist.com/dramalist/9724039

But I missed that when I add it, I can choose the list, or be able to change the default list.

Additional context

https://www.themoviedb.org/u/aleh_hyun/lists

Adicionar a uma lista

Ao clicar em adicionar, não aparece a lista padrão, e se você clicar em concluído sem escolher uma lista, ele fica como adicionado, e é adicionado na lista padrão sem pedir/escolher

Outra coisa mesmo escolhendo uma lista, ele adiciona na lista padrão

image

image

image

Como comentei no outro issue, de mostrar todos na lista padrão e adicionar um filtro de lista, mas como o comportamento foi alterado, não aparece coisas da lista TMDB na lista padrão, então não faria sentido de um filtro 😅, mas o mesmo não acontece com lista do app

image

image

image

Aqui faria sentido um filtro, pq aparece de outras listas do app

A correção seria não adicionar sem escolher uma lista, ao ativar o seletor.

Quando você organiza tudo por lista, faz menos sentido ou fica bagunçado a lista padrão.

Sobre as nova listas TMDB

Agora não precisamos importar a lista do TMDB

Mas isso afeta algumas funcionalidades como você mencionou, como marcar como assistido e outros recursos, mas achei um que pode gerar confusão

image

image

Mas durante a pesquisa, ele pode aparece como não adicionado, sendo que já está em uma lista, então acho importante ter aquela opção de importar, mas podemos abordar de forma diferente com essa nova lista

Exemplo, sincronizei com TMDB, e aparece minhas listas, ao abrir a lista, aparece um aviso para importar a lista, e colocar quais funções não vão funcionar ao não importar a lista, por exemplo:

Essa lista não foi importada localmente, então alguns recursos poderá não funcionar, como saber que já tem em uma lista ao pesquisar, ou marcar episódios como assistido

image

Algo bem visível mesmo kkk

Fui tirar uma dúvida, se ele apareceria sem fazer nada ao adicionar pelo TMDB, e sim, agora depois de importar, não sei qual seria a melhor forma, se é simples verificar se já foi importado e importar automaticamente ou colocar um botão de sincronizar junto ao excluir lista 😁

Calendar for upcoming releases

Is your feature request related to a problem? Please describe.
It would be nice to have a calendar that displays upcoming release dates of the movies/shows in the watchlist.

Describe the solution you'd like
A calendar is shown with a dot on the dates indicating there’s some movie/show release on that date. When we tap on the date, a list of the movies/shows is shown with the episode information.

Describe alternatives you've considered

Additional context

More options button doesn't work on iOS 18

Describe the bug
When clicking more options (three dots) when looking at a movie (for instance to review it) on iOS 18 nothing happens. This didn't occur til I installed the iOS 18 beta. Also occurs on iPad OS 18

To Reproduce
Steps to reproduce the behavior:

  1. Open any movie
  2. Click on '...'
  3. Nothing happens

Expected behavior
Seeing the additional options

MacOS version Start window not possible to click Continue

After starting the MacOS version of Cronica, the popup window appears, but the Continue button does not disappear for me and I am not able to go to the application. I have to force quit the application and again the same pop up window and again the Continue button does not work for me.

Please see attached the video:

Zaznam.obrazovky.2024-01-23.o.12.20.35.mov

I am using the latest version of Sonoma 14.2.1

Sobre o pesquisar

Ao abrir ele é vazio kkk, sensação de bug ou algo que não está funcionando 😂

image

Ao clicar em pesquisar ele aparece os mesmo que de tendências

image

Que seria o nosso em alta

image

Poderíamos ter aqui futuramente, uma lista dos últimos 10 pesquisados no estilo TMDB, ao clicar em pesquisar

E quem sabe alguns conteúdos abaixo no formato card, com sugestões

https://api.themoviedb.org/3/trending/all/{time_window}

Get the trending movies, TV shows and people.

Não cheguei a olhar o retorno, mas poderia ser um endpoint que retorna um conteúdo diferente do que já temos na home

Bulk mark/unmark episodes

Is your feature request related to a problem? Please describe.
Bulk mark if an episode or a season or a movie is watched or remove from watched.

Describe the solution you'd like
A list of episodes and an edit button at the top to mark multiple episodes watched or remove from watched. The UI could look like the UI when deleting photos from iOS photos app. Each seasons can be split by sections and a check mark near the season title to make every episode in it.

Describe alternatives you've considered

Additional context

Italian translations are wrong - Are you open for external help?

Is your feature request related to a problem? Please describe.
Italian translations are currently wrong and they’re hard to comprehend. For example “Secondo Gestocquotidiano destro” has a typo and is not easy to understand that it’s related to a scroll gesture.

Describe the solution you'd like
If you are open to external help, I’m Italian (annd I’m fluent in English) so I would offer some translations!

Describe alternatives you've considered
The other feasible alternative is to just show users the English strings.

Additional context
There’s no additional context. If you welcome some translations, please tell me if you want that I change a resource file or some other thing!

Mapping TMDB Lists

I've always dreamed of having the ability to map certain TMDb lists of my choosing to my home screen (Trending today, this week, popular, etc), then adding another list like Genres for example, or studios, and then maybe adding continue watching. And to have the freedom to the view (appearance) for each (poster, card, button, banner, etc).

I know this sounds complicated but I hope it is not. I imagine some sort of a customize button in the home screen, where it would take me to the Home Screen Customizer Window. Where i can choose the the visible lists or hide some, and I could add another list from a pre-loaded list available on TMDb, and choose what view (appearance) to use for it, change the order of my lists, etc.

There are public lists that are interesting on TMDb like (Best of Horror, Shutup and watch, Mindfu#k movies, Classical Collections, etc)

I hope my feature requests get supporters from other people who want to see this in Cronica I would love to have this flexibility

Excluir lista

image
image
image

Não sei se chegou a notar, mas ao excluir, ele se mantém na lista

Último print é da lista completados, mas aconteceu o mesmo na outra

Bug no pesquisar

Estou adicionando os que estou assistindo, e notei um bug, que ocorreu, mas não consegui reproduzir novamente, mas só pra avisar, caso queira revisar algo

image

image

image

Ele ficou duplicado, e não sei se foi por causa disso que era como se tivesse aberta a página do drama 2 vezes, ao voltar tinha que voltar 2 vezes, e única coisa diferente era o nome no voltar

Ao tentar replicar achei um que crash o app

image

Pesquise um conteúdo, adicione na lista, remova da lista e marque um episódio assistido

Marcado como assistido

Como comentei em outra issue, sobre a lista padrão

Tenho uma lista no TMDB "Assistindo atualmente", ao abrir pelo app

image

Marco como assistido

image

Ela adiciona na lista padrão, pq não funciona com a do TMDB?

Mas até que não seria o problema, já que posso deixar somente na lista padrão os que estou assistindo atualmente, mas fica misturado ao tentar adicionar conteúdo em outra lista, pq como comentei na outra issue, ele está adicionando na lista padrão sem pedir/escolher

Mas o mais estranho é isso kkk

image

image

Não está na lista padrão, mas está marcado como assistido e é de uma lista TMDB, será que foi/é um problema que comentei na issue recente que ao excluir a lista não exclui o conteúdo, e como tinha uma lista importado com o mesmo nome e com esse drama como assistido, será que está pegando de uma lista fantasma 👻 kkk

Voltar com botão inferior

Não sei as outras pessoas, mas eu tenho costume de voltar usando os botões de navegação do app, pq é mais prático e fácil de usar, sem precisar estender ou usar as 2 mãos para clicar no voltar lá em cima

Ordering of 'Up Next' episodes

Is your feature request related to a problem? Please describe.
Ordering the episodes in 'Up Next' section in most recently marked/seen would be better than ordering it on alphabetical order. Because if the number of TV shows we are watching at the same time is increasing, it would be harder to find a TV show whose name starts with the last letters of english alphabet.

Describe the solution you'd like
Either default the ordering to most recently marked or give an option to order it as most recently watched or alphabetical order in the settings

Describe alternatives you've considered

Additional context

Sobre marcar como assistido

Sobre o comportamento em si, é muito difícil mudar? Sei que da para ativar marcar como assistido com um toque, mas é fácil você tocar sem querer, achando eu ia abrir as informações

image

image

E você pode querer acessar a visualização completa, mas teria que procurar na lista.

A minha ideia seria:

um toque você abriria como é hoje, e também ter uma opção para ver as informações completa em caso de querer mudar de lista ou compartilhar

E dois toque para marcar como assistido

Outra ideia em caso de assistir tudo, seria interessante mudar de lista para uma "Completados" por exemplo

Tenho 2 ideias: aparecer um seletor de lista ao marcar o último como assistido

Ou ter uma configuração para escolher um lista padrão ao marcar o último como assistido

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.