The app utilizes AWS (with Amplify) as a backend and fully rely on Amplify libraries to operate.
- It shows off the abilities to Sign in and Sign up with
AWSCognitoAuthPlugin
. - It leverages the
AWSDataStorePlugin
to store the data locally and seamlessly sync it with the remote database (DynamoDB).
Overall using AWS Amplify libraries is a nice experience (unlike most of the rivals) for the new projects as it offers the support of Combine and SwiftUI ready right out of the box.
- Create user.
- Post.
- Delete posts.
- Search other users and load other's posts in a timeline (
UserAccount.following
is intended to store other users IDs).
To run the project there are two options:
- One could run
amplify init
in the project directory and follow the instructions to create the required resources with own AWS account. Two filesamplifyconfiguration.json
andawsconfiguration.json
should be added to the project root then. - Alternatively you may request for
amplifyconfiguration.json
andawsconfiguration.json
to use the resources in my account.