bppc-marketplace's Introduction
bppc-marketplace's People
bppc-marketplace's Issues
Fix ProductManager
Paginate GraphQL Queries that return a List
The following queries need to be paginated:
searchProducts
allProfiles
->Profiles
wishlist
Create Search Products View
Need to have a view which uses ElasticSearch to search for products.
Add feature to let potential buyers bid on products.
- Let a seller set base price X on product.
- Let potential buyers bid amount >X on product.
- Display highest bid on product.
- Let seller see all bids.
- Let seller select a bid.
- Display details of seller once buyer and seller both agree on the price.
Still using sqlite instead of MySQL
Should configure settings.py to use the database setup by docker-compose.
Adding this here so that we don't forget this.
Add Payment Gateway
Add Tests
IMPORTANT
Need to write unit tests to test all models, views, integrations, services, database connections, caches etc.
This is gonna be a long one. Requiring multiple pull requests.
User Notifications Thread
This thread follows discussions regarding the implementation of user notifications on the server.
The current plan for implementation is using Firebase FCM for mobile notifications and SendGrid for email notifications. Combining the APIs with Django signals will trigger the notifications.
Batch N+1 queries using Dataloaders
Queries that return a list of products, a list of profiles, etc .create an N+1 problem in most cases. The database calls need to be batched for optimization.
Format Your Code
Make Product Images Work
Image model has been added. But we still have to integrate it with the views.
Add Test for searchProducts Query
Add a test in test_queries.py
for testing the behaviour of the searchProducts
query.
Implement Logging in GraphQL
GraphQL methods are not being logged like the REST API.
Set up a logger and add logging statements.
Trivial but must be done.
Add Boolean in Product to check if it is in a User's Wishlist
The Product
GraphQL type should include a Boolean field called in_wishlist
which asserts if a product is included in the User's wishlist.
product(id: 111) {
id
name
in_wishlist
}
Turn Categories into a Model
Categories should be a model which is a foreign key to Product instead of a choice field.
Add Q and A to products
- Add Q and A model
- Integrate with existing Product, Buyer and Seller models
- Make new views for these or integrate with GraphQL views.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.