Why this test?
At ERPMax, understanding how web applications work, is a pre-requisite for any new engineer. Flask is one of the simplest and well written Python based web application frameworks and can easily be learned.
If you have never worked on web applications before, this test will also help you evaluate whether this is something you are skilled at or can easily learn doing.
Inventory Management Web Application
The goal is to create a web application using Flask framework to manage inventory of a list of products in respective warehouses. Imagine this application will be used in a shop or a warehouse that needs to keep track of various products and various locations
The application should cover following functionalities:
- Product (
- Location (
- ProductMovement (
- Primary keys can be text / varchar
- Any one, or both of
to_locationcan be filled. If you want to move things into a location,
from_locationwill be blank, if you want to move things out, then
to_locationwill be blank.
- Add/Edit/View Product
- Add/Edit/View Location
- Add/Edit/View ProductMovement
- Product balance in each location
- Create 3/4 Products
- Create 3/4 Locations
- Make ProductMovements
- Move Product A to Location X
- Move Product B to Location X
- Move Product A from Location X to Location Y
- (make 20 such movements)
- Get product balance in each Location in a grid view, with 3 columns:
- You will be given extra points if you write unit tests for your code
How to Submit
Once this application is ready, push your code to GitHub and add a
README.mdfile in your repository. Add screenshots showing the screens and reports in your README.
After this, just drop in an email to email@example.com saying that your project is done.
After this, we will get in touch with you and you will have to walk us through your code. We will then ask for a few changes or additional features that will help us evaluate how well you know your code base.
- Build a good UI, with clean forms and reports
- Write concise SQL queries if your are not using an ORM
- Avoid code duplication, abstract out functions that can be reused
A word of caution: In the past, applicants have not done this test themselves and have completely failed to explain or make changes. We know it sounds dumb, but people do such things.
Feel free to ask for help from anyone or just look on the web. Do this project by yourself if you want to sustain a career in programming and technology!
All the best! ?