anitab-org / mentorship-ios

THIS PROJECT IS ARCHIVED. Mentorship System is an application that matches women in tech to mentor each other, on career development, through 1:1 relations during a certain period of time. This is the iOS application of this project.
GNU General Public License v3.0
14 stars 28 forks source link

Offline Support using Core Data #146

Open yugantarjain opened 3 years ago

yugantarjain commented 3 years ago

Is your feature request related to a problem? Please describe. Currently the offline support in Mentorship iOS app is very limited (only for user profile). This makes it difficult for a user to be able to access their data at all the time, as it is not possible with wifi/data. Also, since the same data is fetched from the server again and again, user's data also gets wasted which can be conserved with offline support.

Describe the solution you'd like Core Data framework must be used to enable offline support in the app. The boilerplate code for core data is present in the project. We have implemented repository pattern in the app (as a Service layer) which allows for which data sources to be used for the data model. The offline data source should ideally follow this paradigm.

Describe alternatives you've considered The profile uses UserDefaults for offline support. However, I feel that core data would be the better option for the whole app.

Additional context We can be flexible on the scope of this issue and only implement offline support for the home screen for now (instead of the whole app). Note: This issue may also require a little refactoring during the process.

yugantarjain commented 3 years ago

@anitab-org/mentorship-ios-maintainers before making it available, I'd like to get your approval.

yugantarjain commented 3 years ago

@sunjunkie should I make this issue available for contributors?

paraschhugani commented 3 years ago

hey @yugantarjain , i would like to work on this issue

1.ill make the coredata context to store data , and also include realm if needed

yugantarjain commented 3 years ago

Hi @paraschhugani, thanks a lot for your interest in working on this issue! Assigned. Just one note: try not to use realm, and if you do feel like using it then confirm with the team (@anitab-org/mentorship-ios-maintainers) beforehand.

paraschhugani commented 3 years ago

hey @yugantarjain I am unable to test my code, can you please provide with some login test Credentials to test the code data

And there is some issue in signup screen, the text field becomes yellow when trying to enter the password, is that intentional or a bug

vatsalkul commented 3 years ago

@paraschhugani You can sign up using mentorship rest API backend link: https://mentorship-backend-temp.herokuapp.com Steps to sign up:

  1. Open users Tab
  2. Select /register endpoint
  3. Click try it out and fill the payload.
  4. Click on execute and wait for confirmation mail on your email id. Let me know if you face any problem in signing up
paraschhugani commented 3 years ago

thanks @vatsalkul that helped a lot , goona make pr soon, just some doubt on the workflow of app , can you please explain that , i am connected to you on LinkedIn .

Coredata added ,,

paraschhugani commented 3 years ago

I have made a pr, it took me some time to understand the work flow of the app.

156