https://github.com/riyadhuddin/desi
An augmented next gen dating app, efficient and interactive romantic experience.
https://github.com/riyadhuddin/desi
Last synced: about 1 year ago
JSON representation
An augmented next gen dating app, efficient and interactive romantic experience.
- Host: GitHub
- URL: https://github.com/riyadhuddin/desi
- Owner: riyadhuddin
- Created: 2022-11-14T10:41:17.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-12T07:21:31.000Z (over 3 years ago)
- Last Synced: 2025-01-22T15:31:06.656Z (over 1 year ago)
- Language: Dart
- Homepage:
- Size: 149 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# desi
An augmented next gen dating app, efficient and interactive romantic experience.
## Features:
1. Login/Registration: The first screen of the app would be a login/registration page, where users can enter their information and create an account. This page would include fields for email, password, and possibly a profile photo.
2. Profile: Once logged in, users would be taken to their profile page, where they can view and edit their personal information, including a profile picture, a short bio, and their preferences for a potential match.
3. Matching: The main feature of the app would be the ability to match with other users. This could be done through a swiping system, where users can swipe left or right on potential matches. A match would be made when two users mutually swipe right on each other.
4. Chat: Once a match is made, users would be able to chat with each other through an in-app messaging feature. They would also be able to access the chat history.
5. Settings: The app would also include a settings page, where users can adjust their preferences and manage their account.
6. Notifications: Users would receive notifications when they have a new match or message, and also when someone viewed their profile.
7. Design: The app would have a modern and minimalist design, with a color scheme that is visually pleasing and easy to navigate. The UI would be intuitive and user-friendly, making it easy for users to find what they need.
### System Design:
User Interface:
The app's user interface would be built using the Flutter framework. This would include the various screens and widgets for displaying user profiles, match lists, chat functionality, and other features.
Authentication:
AWS Cognito would handle user authentication and management. This would include the registration process, sign-in, and forgot password flows, as well as user data management and permissions.
Data Management:
AWS DynamoDB would store and manage the data for the app, including user profiles, matches, conversations, and other app-related data.
Backend Logic:
AWS AppSync or AWS Lambda would handle the app's backend logic. AppSync is a managed service that makes it easy to develop GraphQL APIs by handling the heavy lifting of securely connecting to data sources. Lambda allows you to run code without provisioning or managing servers.
File Storage:
AWS S3 would store and manage files, including user-generated content such as photos, videos, and audio.
Push Notifications:
AWS Pinpoint would handle sending push notifications to users.
Caching:
AWS ElastiCache would handle caching, storing data in-memory to reduce the number of requests made to the database and improving the app's performance.
Analytics:
AWS Pinpoint or AWS Mobile Analytics would be used to collect and analyze usage data. This would help you understand how users are interacting with the app and improve its performance and user experience.
#### Architecture:
Authentication:
AWS Cognito for user authentication and management. This allows you to handle user registration, sign-in, and forgot password flows, as well as to manage user data and permissions.
API:
AWS AppSync or AWS Lambda for the app's backend logic. AppSync is a managed service that makes it easy to develop GraphQL APIs by handling the heavy lifting of securely connecting to data sources. Lambda allows you to run code without provisioning or managing servers. You can use AWS Amplify's 'API' category to generate the necessary code and configuration for both of these services.
Storage:
AWS S3 for storing user-generated content such as photos, videos, and audio. S3 is a highly scalable and durable object storage service that can be used to store and retrieve any amount of data, at any time, from anywhere on the internet.
Push notifications:
AWS Pinpoint for sending push notifications to users. Pinpoint is a messaging service that allows you to send personalized messages to your users, whether they're using your app or not.
Analytics:
AWS Pinpoint or AWS Mobile Analytics for collecting and analyzing usage data. This can help you understand how users are interacting with your app, so you can improve its performance and user experience.