This challenge assesses your skills in Python, React, Laravel, MySQL, and Postgres. The tasks are divided into sections, each focusing on a specific technology. You are required to complete any task within plus compulsary task number 4 in 48 hours.
- Create a Python script that:
- Fetches data from a public API (e.g., OpenWeatherMap or SpaceX API).
- Analyzes the data (e.g., identify weather trends or summarize recent launches).
- Creates a RESTful API using Flask or FastAPI to serve the analyzed data.
- Use Python libraries like
requests
for API calls andpandas
orjson
for data processing. - API should have endpoints like
/summary
and/details
.
- Code structure and readability.
- Efficient use of Python libraries.
- Functionality and correctness of the REST API.
- Build a React application with:
- A table displaying data fetched from a given API.
- A search bar to filter table rows.
- A modal that pops up when a row is clicked, showing more details about the selected item.
- Use React hooks like
useState
anduseEffect
. - Ensure responsiveness and a clean UI using Material-UI or Tailwind CSS.
- State management should be handled efficiently.
- Clean and responsive UI.
- Proper state management.
- Correct integration with the API.
- Create a Laravel application that:
- Implements CRUD operations for a
Product
model (fields:name
,price
,description
,quantity
). - Adds middleware to log all API requests to a log file.
- Implements CRUD operations for a
- Use Laravel migrations for database setup.
- Include validation in the controllers.
- Middleware should log method, URL, and request body.
- Code organization and adherence to Laravel best practices.
- Correct implementation of CRUD and middleware.
- Proper database handling.
- Create SQL queries for the following:
- MySQL: Write a query to find the second-highest salary from an
employees
table. - Postgres: Write a query to find all customers who have placed orders in the last 30 days, joining
customers
andorders
tables.
- MySQL: Write a query to find the second-highest salary from an
- Provide the SQL schema for the tables used.
- Ensure queries are optimized and include relevant indexes.
- Query correctness.
- Query optimization.
- Appropriate use of SQL features.
- Integrate the backend API (Python or Laravel) with the React frontend:
- React app should fetch data from the API created in the Python challenge or Laravel challenge.
- Display the data in a dashboard with sortable and filterable columns.
- Include a feature to export table data as a CSV.
- Deploy the backend API and React app to a platform like Heroku, Vercel, or AWS.
- Ensure proper API integration and error handling.
- Correct integration of frontend and backend.
- Deployment success.
- Overall user experience.
- Duration: 48 hours to complete the challenge.
- Submission: Candidates should submit:
- Code repository (GitHub).
- Deployment links (if applicable).
- Documentation or README detailing their approach, tools used, and how to run the application locally.
- Send Notification of completed job to imalemelo@ontech.co.zm
- Use Codility, HackerRank, or CodeSignal to host the coding parts of the challenge.
- For project-based tasks, consider using GitHub Classroom or simply collect submissions via a shared GitHub repository link.