Open invinayak007 opened 6 months ago
Hi! Important Details - These following details are helpful for contributors to effectively identify and contribute to tickets.
Please update the ticket
Hi I'm himanshu, from NIT-KKR with college chapter of C4GT
I am excited to take on the challenge of implementing the User Registration System for cQube. Here's a proposed solution along with clarifications for the specified doubts:
We will use a relational database for storing user profiles, topic subscriptions, and preferences. Considering the complexity of the project, PostgreSQL or MySQL can be suitable choices. A basic schema will include tables for users, topics, subscriptions, and preferences. The schema can be refined based on specific requirements.
It would be helpful if you could provide any specific preferences regarding the database system or a more detailed schema. Otherwise, we can proceed with a flexible design that can be adjusted later as needed.
For secure registration and login, we'll implement a basic email-password authentication system. OAuth might be considered in the future for enhanced security and user convenience, but for now, a standard email-password setup will suffice.
If you have any specific preferences or concerns regarding authentication methods, please let me know. Otherwise, we'll proceed with a standard email-password setup for the initial implementation.
We'll develop a clean and intuitive front-end interface using a web development framework like Django or Flask. As for mailing services, we can utilize SMTP for basic email functionality. Integrating external services like nodemailer, WhatsApp API, or Telegram bot might be considered in future iterations, but for now, we'll focus on a solid and user-friendly interface.
If you have specific preferences or modifications in mind for the mailing service, please provide details. Otherwise, we'll proceed with a basic SMTP setup for email functionality.
I'm looking forward to your input on these points. Once we have the necessary details, we can kick off the development process, starting with the User Registration System. Let me know how you'd like to proceed!
Hi I'm himanshu, from NIT-KKR with college chapter of C4GT
SOLUTION:
I am excited to take on the challenge of implementing the User Registration System for cQube. Here's a proposed solution along with clarifications for the specified doubts:
1. Database Integration:
Solution:
We will use a relational database for storing user profiles, topic subscriptions, and preferences. Considering the complexity of the project, PostgreSQL or MySQL can be suitable choices. A basic schema will include tables for users, topics, subscriptions, and preferences. The schema can be refined based on specific requirements.
Clarification:
It would be helpful if you could provide any specific preferences regarding the database system or a more detailed schema. Otherwise, we can proceed with a flexible design that can be adjusted later as needed.
2. User Authentication System:
Solution:
For secure registration and login, we'll implement a basic email-password authentication system. OAuth might be considered in the future for enhanced security and user convenience, but for now, a standard email-password setup will suffice.
Clarification:
If you have any specific preferences or concerns regarding authentication methods, please let me know. Otherwise, we'll proceed with a standard email-password setup for the initial implementation.
3. Front-end Interface and Mailing Service:
Solution:
We'll develop a clean and intuitive front-end interface using a web development framework like Django or Flask. As for mailing services, we can utilize SMTP for basic email functionality. Integrating external services like nodemailer, WhatsApp API, or Telegram bot might be considered in future iterations, but for now, we'll focus on a solid and user-friendly interface.
Clarification:
If you have specific preferences or modifications in mind for the mailing service, please provide details. Otherwise, we'll proceed with a basic SMTP setup for email functionality.
I'm looking forward to your input on these points. Once we have the necessary details, we can kick off the development process, starting with the User Registration System. Let me know how you'd like to proceed!
Hey @invinayak007 can you please check that?
Hi Himanshu,
Can you DM me @invinayak on Discord.
Thanks, Vinayak
Okay 👍
Hi I'm Interested in working on this issue.
Hey, @invinayak007 , I would like to work on this . I have gone through the code base can you assign this to me if it is open
Hi @invinayak007 , @Shruti3004 and @Himasnhu-AT ! I am interested to work on this issue. I have good grip on python .I am really excited to contribute to this project.Could you please assign it to me.
Hey @invinayak007 . I am familiar with Django framework as I have done projects earlier using this framework. I would like to contribute to this project if it is open.
I understand the issue and have a good understanding of python, would greatly appreciate to work on the project. Could you please assign this to me ?
### After analyzing the problem what I think the solutions so we can tackle this problem :
Seamless Integration of cQube with Unified Communication Interface (UCI) Services: This part involves integrating cQube with UCI services to enable smooth communication. You want businesses to receive real-time notifications customized to their preferences. To achieve this, you can use Python technologies like:
Message Generation System: This system is responsible for generating messages and ensuring they meet certain criteria or thresholds. It should also handle message queues efficiently. For this, you can consider using:
queue
module: This module provides data structures like Queue
and PriorityQueue
for managing message queues.logging
module: This module can help you log messages and track important events during message generation.Message Routing Service: The goal of this service is to optimize communication by intelligently routing messages based on predefined topics and recipients. Python technologies that can be useful here include:
kafka-python
library: A Python library for interacting with Kafka and implementing message routing.UCI Service Setup and Deployment: This involves setting up and deploying the UCI service within cQube to provide businesses with a reliable communication framework. Python technologies that can be relevant include:
User Registration System: This system allows users to subscribe to topics with personalized preferences and tracks essential statistics for enhanced insights. For this, you can consider using:
Consider me giving a chance to learn and contribute in this project
Hello, Megha Bhawnani Here. As a programmer, I suggest using Python libraries for different purposes. A few of them are listed below: ### Django: Django provides a full-featured framework with built-in authentication, ORM, and an admin panel. This can be used for areas of web development providing the necessary security. ORM can be used in database management. In addition, the Django REST framework can be used for web APIs as it simplifies authentication and authorization of the API endpoints.
### PyJWT & OAuthLib: For user authentication and authorization, we can use PyJWT for JWT (JSON Web Tokens) authentication or OAuthLib for OAuth authentication. *Note: we use JWT for secure communication authorization and authentication. A good alternative can be OAuth 2.0
### Pandas : If we are required to perform data analysis on message delivery statistics, Pandas can be used for data manipulation and analysis.
### Matplotlib: Matplotlib is useful for visualizing data, including generating charts and graphs to display message delivery statistics in a user-friendly way.
### pytest: For testing the application, we use the pytest testing framework that makes writing and executing tests easy and efficient.
Other than this we require a few more additional steps :
Front End Development: A user-friendly interface is what makes an application differ for a user so using the best available framework is important. Some of them are React, Vue.js, or Angular
Message Delivery Statistics Tracking: Set up a mechanism to track basic statistics related to message deliveries. This may involve logging delivery success/failure, analyzing user engagement metrics, etc. We can use Logging mechanisms, data analysis, and understanding of message delivery systems.
I would love to go on and on about the ideas I have to make this a good application, please do give me a chance to prove my potential and contribute to such an awesome project
@invinayak007 I would be really grateful if you give me a chance .
IHi I'm Sanam Sahu, from KIIT-Bbsr
Hi, @Himasnhu-AT @invinayak007 I think I have the skill set to work on this issue. Kindly please assign this issue to me.
Hello @Himasnhu-AT , I have already built a registration website using flask and mongoDb for database .I would like to modify it and contribute to this project. Kindly tell me how can I do so.
Description
This ticket revolves around implementing a User Registration System for cQube, allowing users to subscribe to various topics with personalized preferences. Additionally, the project involves tracking basic statistics related to message deliveries for enhanced user insights.
Key Objectives
Implementation Steps
Learning Path
Project Set Up
To set up the project on a system, follow these guidelines:
Acceptance Criteria
The success of this project will be determined based on the following criteria:
Out of Scope Elements
The following elements are considered out of scope for this project:
Key Milestones
Product Name
cQube
Project Name
cQube - Create a cross drill-down service and a breadcrumb service for reports
Organization Name
Tibil computer solutions Pvt Ltd
Tech Skills Needed
Python
Category
Feature
Mentor(s)
@invinayak007
Complexity
High