warehouse-facility-project's People
Forkers
reeemsalah ahmadhesham hauna9 zeyadhabash aynader mostafa1912 donrehan taha-amr alighieth mark-malak faroukamr amirnaguib linakamel ahmed-eloraby doniasharaf faridahelmy kareemsarhan rowanamgad rafik-00 mariam-00 jenifer1971 hazem-o-hassan osayed159 seifmaged31 ahmedserryy gityoussefsameh salma-kishk nadaabdo588 bobsolyman raghdaessam shady-elshazly1 3obad18 omarosamaa13 davidedwar abdallahelsayed73 allaaamr amrhoballah marwanbadr2274 hadeer1111 marwankhalid9876 amirahousam hodazein nadadkhalil yaeldairy ahmed-taksira hananbeshrah spike3300 mahmoudgohar1 omarelsawi ykersha omarayman37 shalabyyyy salmakhalidshreef mazenws ahmedkaddah engy34 kareemehabwarehouse-facility-project's Issues
Optimizing Items Selection 🥇 File : SubWarehouse.java
The project is a warehouse that specializes in storage of goods. The capacity was never a concern due to the warehouse not being in demand , but recently we’ve had an issue with housing certain products where we have a lot more input than we can store. We’ve gotten to the point where we have to pick and choose which products we will store and which we will have to discard or put on hold and avoid storing. When it comes to selective criteria , most businesses try to achieve the most profits with the current variable configurations. We’ve come to conclusion that we need to implement a problem-solving algorithm that will allow us to manage our inventory better , and given a set of products , with their occupation space and profit , the algorithm should select which products we should store and which products should not be stored in order to maximize our profit of the subwarehouse annually. Once The algorithm chooses the items , it’s required to calculate the total space that will be occupied and the total profit from this configuration. We are welcoming external collaborators for their contributions and proposals of implementation. A start template layout will be given where you can fork it from our repository and you shall attempt to implement a system to do the requirements mentioned above.
Once you have a preliminary working algorithm , Step 1 👍 is a small test is given in the Main method where you can run it , if the algorithm doesn't produce the correct answer (should be 150) then you need to work more on it , if the correct answer is produced , you can proceed into step 2
Step 2 👍
You have a functional algorithm but is it the most optimal? You will run your code on a live dataset which contains 10,000 items with different prices , the complexity , runtime and Big O notation of your code will come in handy now. If the code doesn't run or freezes then you need to work on optimization. A good way to start is by researching a topic called "Dynamic Programming"
This is a good chance for beginner developers and contributors to improve and enhance their collaborative skills where they get to implement an algorithm that could be integrated into a whole system. It will push you to find an optimal way to achieve your target and learn good practices in defining the nature of the problem and how to propose a solution. Your code contribution will be tested thoroughly and you will be given a full feedback from me on your implementation , the good and bad practices , code smells and defects , vulnerabilities and comments about the complexity and your problem solving approach.
Recommended topics to read about for good practices :
Code Smells
Time Complexity (Big O notation)
GitHub forking and merge requests
What is code brute forcing?
Dynamic programming
Make sure you time your coding session and be honest with it
Bonus points for less code complexity
Bonus points for less variables/memory used
Bonus points for less runtime
Bonus points for using a known algorithm design pattern (DP , DC..etc)
Bonus points for a good commit name as descriptive as possible to the problem you addressed
Bonus points for comments in the code and explaining your steps
You can still brute force the question and get your rewards.
After you have made your contribution in your own forked repo , request a merge/pull request in order to virtually "submit" your code , then claim your rewards :)
To Claim your rewards , Please attach your GUC E-mail into the description of the merge/pull request.
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.