Microblog-ref-app - A Twitter like social media app that users can share their moments

Overview

HiPlace - iOS

Table of Contents


Introduction

HiPlace is a Twitter like social media app that users can share their moments, follow other users and can send direct messages privately.

  • User can easily log in to the app from the registration screen or quickly log in to the app with Huawei Id.
  • You can access posts of users on the Home Tab.
  • On the Search Tab, you can find new users based on name or username.
  • When user presses the profile photo of the post's owner on the Home Tab or Search Tab, profile page of the user opens and you can follow/unfollow the person or send a direct message to the user.
  • On the Messages Tab, you can see and reply your conversations. With direct messaging, you can send messages to other users to have a private conversation.

This project is developed by using SwiftUI 2.0.

HMS Services

  • Auth Service

    Auth Service is used for creating a new account, loggin in and resetting password.
  • CloudDB

    All posts, messages and user profile information are stored in CloudDB.

    CloudDB is the main and the only database of HiPlace app.

  • Cloud Functions

    Instead of requesting multiple queries (on CloudDB) and collecting different query results consecutively on the client, Cloud Functions is used to collect necessary data and return it to client with single request.

    This was possible by integrating CloudDB on Cloud Functions.

  • Push Kit

    When a user sends direct message, push kit is used to notify the other user.

    Notification Title: Full name of the user

    Notification Body: Message

  • Analytics

  • Crash


Getting Started

  • You need to import agconnect-services.plist file to run the project correctly.

  • If you don't have a Huawei Developer account, check this document to create a new one.

  • Login to Huawei Developer Console.

  • If you don't have a project and app, check this document to learn how to create.

  • Go to My Projects and select your project that you were created. And click Project Settings then go to Manage APIs page to nable necessary SDKs.

  • For this project you need to set enable Auth Service, Push Kit and HUAWEI Analytics.

  • Now your app can use the enabled services APIs but also, you need to enable following services for your project as well:

    -- Auth Service

    -- CloudDB

    -- Cloud Functions

    -- Push

    -- Analytics

  • For CloudDB Object Types, you can have a look at the following path: HiPlace/Utils/CloudDbHelpers/ObjectTypes

  • Then return to Project Settings page and download agconnect-services.plist file.

  • Move the configuration file into your project, below Info.plist file.


Supported Environments

  • You need a Mac with Xcode 11 or later installed.
  • You need Cocoapods to install libraries.

Installation

To integrate HMS Services, you must complete the following preparations:

  • Create a SwiftUI project.
  • Create the Podfile, and add necessary framework(s).

Edit the Podfile. Add the following pods to your pod file:
<b> pod 'AGConnectCore'
pod 'HiAnalytics'
pod 'AGConnectCrash'
pod 'AGConnectAuth'
pod 'AGConnectDatabase'
pod 'AGConnectFunction'
pod 'HmsPushSDK' </b>

// third party pod // for downloading photos asynchronously pod 'Kingfisher'

And run pod install command.



Screenshots



License

HiPlace is licensed under the Apache License, version 2.0.

You might also like...
Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written by swift
Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written by swift

SKPhotoBrowser [![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-) Simple PhotoBrowser

Twitter Image Pipeline is a robust and performant image loading and caching framework for iOS clients

Twitter Image Pipeline (a.k.a. TIP) Background The Twitter Image Pipeline is a streamlined framework for fetching and storing images in an application

Slide image viewer library similar to Twitter and LINE.
Slide image viewer library similar to Twitter and LINE.

Overview You can use it simply by passing the necessary information! Serrata is a UI library that allows you to intuitively view images. Features King

NavigationCoordinator acts as a coordinator for NavigationView in SwiftUI. You can use pushView, popView, popToView, popToRootView as you can in traditional UIKit

NavigationCoordinator NavigationCoordinator acts as a coordinator for NavigationView. You can use pushView, popView, popToView, popToRootView in Swift

A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below.
A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below.

MCScratchImageView GIF Showcase Requirments iOS 8.0+ Xcode 7.2+ Swift 4.0 Installation CocoaPods pod "MCScratchImageView" Manually Just drag MCScratch

An instagram-like image editor that can apply preset filters passed to it and customized editings to a binded image.
An instagram-like image editor that can apply preset filters passed to it and customized editings to a binded image.

CZImageEditor CZImageEditor is an instagram-like image editor with clean and intuitive UI. It is pure swift and can apply preset filters and customize

TripUp is an open source, photo storage and sharing app made for privacy conscious users.
TripUp is an open source, photo storage and sharing app made for privacy conscious users.

TripUp is an open source, photo storage and sharing app made for privacy conscious users.

AnylineFaceAuthentication pairs identity document scanning with a real-time liveness check utilizing the iPhone's camera, best suited for authenticating users over the internet.

AnylineFaceAuthentication AnylineFaceAuthentication pairs identity document scanning with a real-time liveness check utilizing the iPhone's camera, be

A view controller for iOS that allows users to crop portions of UIImage objects
A view controller for iOS that allows users to crop portions of UIImage objects

TOCropViewController TOCropViewController is an open-source UIViewController subclass to crop out sections of UIImage objects, as well as perform basi

Owner
null
Jogendra 113 Nov 28, 2022
Source code for iOS app "Photos for VK" — albums and photos manager for social network VKontakte

VK Photos (formally Photos for VK) VK Photos is an iOS app for manage albums and photos in social network VKontakte (vk.com) Screenshots Disclaimer ⚠️

Yury S. 29 Oct 8, 2022
SocialDownloaderApp - An exact copy of Social Downloader App by Sulton Handaya For Pelorous

SocialDownloaderApp It is a copy of Social Downloader App by Sulton Handaya For

prashant-humney 0 Jan 12, 2022
A UIActivityViewController to share images while displaying them as a nice preview.

PSActivityImageViewController Overview This view controller allows you to share an image the same way as a normal UIActivityViewController would, with

Peter Salz 11 Oct 19, 2022
iOS SDK to share JPEG images with an expiration date

Ebblink iOS SDK A library to integrate Ebblink private image sharing capabilities into your iOS app. Table of Contents Getting Started Requirements Se

null 4 Apr 6, 2018
Metazoom - A virtual camera plugin to pixellatedly share your screen

MetaZoom A virtual camera plugin to pixellatedly share your screen. See LICENSE.

Sahil Lavingia 22 Jan 4, 2023
Kanvas is an open-source iOS library for adding effects, drawings, text, stickers, and making GIFs from existing media or the camera.

Kanvas Kanvas is an open-source iOS library for adding effects, drawings, text, stickers, and making GIFs from existing media or the camera.

Tumblr 267 Nov 24, 2022
GPU-based media processing library using Metal written in Swift

GPU-based media processing library using Metal written in Swift. Overview MetalAcc is a GPU-Based media processing library that lets you apply GPU-acc

Jiawei Wang 259 Dec 17, 2022
An image viewer à la Twitter

For the latest changes see the CHANGELOG Install CocoaPods pod 'ImageViewer' Carthage github "Krisiacik/ImageViewer" Sample Usage For a detailed examp

Kristian Angyal 2.4k Dec 29, 2022