lfglabs-dev / lfglabs-dev/api.calorily.com
Introduce data tracking
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
To enable detailed analytics on user engagement and app usage, we need to track each query made by users. This will involve storing a document in our MongoDB database every time a query is executed.
Implementation Details
- Data Structure: Each document stored should contain
user_idandtimestamp. - Database: MongoDB will be used to store this data (we know it and it works well).
- Schema Example:
{ "user_id": "<user_id_here>", "timestamp": "<ISO_date_time_here>" }
Tasks
-
Backend Update:
- Modify the query handling mechanism to include a step for data logging.
- Ensure the logging process is efficient and does not significantly impact query response times.
- Implement a simple and effective schema to facilitate easy storage and retrieval of query data.
-
Data Privacy Compliance:
- Verify that this data collection process complies with our privacy policy and any relevant data protection regulations.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or query entry point, so first locate the backend query-handling mechanism and existing MongoDB integration. Review the privacy requirements and determine the tracking schema and performance expectations; done means each query records the required user_id and timestamp without materially affecting responses and the collection complies with the stated privacy requirements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mongodb, python
- Domain
- analytics, backend, databases, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100