Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TODO] [feature]: SQLite 3 Databases #249

Open
6 tasks
gbowne1 opened this issue Jun 15, 2023 · 0 comments
Open
6 tasks

[TODO] [feature]: SQLite 3 Databases #249

gbowne1 opened this issue Jun 15, 2023 · 0 comments
Labels
backend This is a backend issue or PR design enhancement New feature or request feature This should be a new feature. help wanted Extra attention is needed high-complexity This issue is an advanced complexity issue high-priority infrastructure medium-complexity This issue is medium complexity medium-priority

Comments

@gbowne1
Copy link
Owner

gbowne1 commented Jun 15, 2023

Is your feature request related to a problem? Please describe.

To build our social media app or website, we will likely need several databases, schemas, and tables to handle various aspects of the application. Here are some common components that you might need to consider:

  • User Database:
    This database will store user-related information such as usernames, passwords, email addresses, profile details, and authentication tokens.You can have a "Users" table that includes columns like name, email address, phone number, avatar, and social media handles.It's important to ensure the security of user data by properly encrypting passwords and implementing authentication mechanisms.

  • Authentication and Authorization:
    we may need a separate database or tables to handle authentication and authorization.This can include tables for storing login credentials (username, password hash, salt), access tokens, refresh tokens, and roles/permissions.You can design tables to link users with their login credentials and associate roles/permissions with specific users.

  • Posts and Content:
    To manage posts, comments, and other content shared on the platform, you will need tables to store this information. We can have a "Posts" table with columns like post ID, user ID, content, timestamp, and any other relevant attributes.Additionally, you might need tables for comments, likes, shares, and other interactions related to posts.

  • Relationships and Connections:
    Social media apps often involve relationships between users, such as following, friend requests, and connections.You can have tables to represent these relationships, such as a "Followers" table that maps user IDs to the users they are following.Consider using a graph database or a specialized graph modeling technique to efficiently handle and query these relationships.

  • Notifications and Messaging:
    If your social media app includes notifications or messaging features, you will need tables to store this data.You can have tables for notifications, messages, conversations, and user-to-user interactions.Design the schema to efficiently handle real-time updates, message threading, and tracking read/unread status.

  • Analytics and Metrics:
    To gather insights and track user behavior, you might want to consider incorporating analytics and metrics into your database design.This can involve tables to store data such as user activity, engagement metrics, page views, and other relevant analytics data.

Describe the solution you would like

This is a todo action item.

Describe the alternatives you have tried

MongoDB, Sequelize, Prisma, PostgreSQL.

We are using SQLite 3 for development.

Additional context

No response

@gbowne1 gbowne1 added enhancement New feature or request help wanted Extra attention is needed backend This is a backend issue or PR design infrastructure high-priority medium-priority high-complexity This issue is an advanced complexity issue medium-complexity This issue is medium complexity feature This should be a new feature. labels Jun 15, 2023
@gbowne1 gbowne1 added this to the Data Storage & Retreival milestone Jun 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend This is a backend issue or PR design enhancement New feature or request feature This should be a new feature. help wanted Extra attention is needed high-complexity This issue is an advanced complexity issue high-priority infrastructure medium-complexity This issue is medium complexity medium-priority
Projects
Development

No branches or pull requests

1 participant