This is the code for our online store. This is a simple store for buying and selling robots and robot parts.
If you would like to contribute, see the CONTRIBUTING.md file and check out the project tracker.
K-Scale Labs store
Home Page: https://kscale.store
License: MIT License
This is the code for our online store. This is a simple store for buying and selling robots and robot parts.
If you would like to contribute, see the CONTRIBUTING.md file and check out the project tracker.
Redis is adding more headaches than it is worth at this stage, let's remove it and just use DynamoDB for everything. If it is slow we can add caching
Some requests (can consider breaking up into multiple issues):
Also, it seems that uploading the image doesn't work in prod. Maybe there is an issue with the S3 configuration? Here is what I see:
Add the ability to post affiliate links for components. This is similar to what PCPartPicker does.
Add a "verified user" badge if the user has a valid email address, or has a linked Google / Facebook account
Users should be able to make a new API key through the frontend UI, so that we can use them to validate other user actions
For
We would like to have a single button which lets us download the BOM for a full robot as a CSV file, which can then be sent to manufacturers.
test
Using awslocal from localstack since amazon doesn't provide any official local s3 software. Possibly also replace amazon/dynamodb-local with localstack?
Prod website build is failing
table.scan
operations with either a DynamoDB query method with pagination, or query with boto3 (since the AWS boto sdk provides low level pagination abstraction)Users should be able to link a robot to a Stripe payment form, to make it easy for people to purchase the robot from them.
Necessary
We have already provided an implementation where users are able to upload URDF and MJCF files on the backend. We should support this behavior on the frontend, and, when a user clicks on a listing, we should be able to visualize the URDFs that are available for that listing.
We want a user settings pahge for logged in users to
Relatedly need
In dev, the User object is still created twice. Idea for how to fix: before inserting User objected into database, check that an associated User email entry (w/ the appropriate user id) is present!
I hope you're doing well. I am interested in contributing to this project and would like to work on designing and implementing a landing page.
Here are a few points I'd like to cover:
Purpose and goals of the landing page.
Key features and sections to include.
Any specific design guidelines or assets (e.g., logo, color scheme, typography).
Preferred tools or frameworks (if any).
Any other requirements or expectations.
I am excited about the opportunity to contribute and would appreciate your guidance and feedback. Please let me know if this is something I can take on and if you have any additional information to share.
Looking forward to your response!
It would be nice if our frontend tests were more than just linting. However, Jest is very fickle to get working with our current stack of dependencies.
Moderator account should be able to manage other peoples' listings. Admins can make people moderators.
Users should be required to provide an API key to download a URDF
For the open source cred
Custom spinner with Stompy
While debugging an error related to sending the email for user registration, I encountered an issue with the config loading.
For context, I did not export or set the env var ROBOLIST_REDIS_HOST as I did not think it to be necessary since it is set to a default value in RedisSettings.
Main Issue
The output of settings.redis.host is an empty string, leading to the backend server not being able to connect to Redis.
I believe the problem is with the omegaconf library, and I've opened an issue about it on their repo, which you may view in more detail here: Link to issue
Image of issue:
The current best workaround is to explicitly set the environment variable in .env:
ROBOLIST_REDIS_HOST=127.0.0.1
Other areas using interpolation are all the environment variables related to the email settings, so the email functionality may be affected as well without setting them, though I haven't tested that yet.
I recommend explicitly setting every environment variable, and updating the contributing.md page to reflect that for now, as this likely isn't an important enough problem to fix for now.
This, however, brings up the question of why use lazy loading when pulling config settings?
I suppose a good reason I can think of is for the ability to change the Redis and email settings without having to reload the fast api server in production. But there might be other reasons to lazy load that I'm not thinking of. Like I said, likely not important to fix, but I am curious.
OmegaConf version: 2.3.0
Python version: Python 3.11.9
Operating system: Ubuntu 22.04.4 LTS
Support 2-factor authentication somehow
This will likely be part of a general overhaul of how we are authenticating users
Not sure if this is desirable (since slightly nonstandard registration flow) but it is the best way to do things, I feel.
Back in the old Rust implementation, the registration flow worked like this:
Send registration link to email -> Create account with registration link
so that any account created is email-verified by definition.
Seems like clicking the logout button doesn't refresh correctly
Need to add some logic where we upload the image to S3 in the prod environment instead of storing it locally
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.