WARNING: This is a template project. Do not fork this repository.
Please follow the visual steps below to create and set up the project repository on your own GitHub profile.
- Click the "Use this template" button at the top right of this page.
- Select "Create a new repository" to generate your own public repository for this task.
- Name your repository as "omdb-project" and click the "Create repository" button.
Upload all of your solutions to github.com/yourusername/omdb-project.
This project is designed to evaluate your coding skills in web development. You are required to build a simple web application that consumes the OMDB API.
- The application must be a fully responsive Single Page Application (SPA) and should display movie details such as title, year, genre, director, and poster.
- The application must be written using HTML, CSS, and JavaScript.
- If your project meets all the requirements, you may extend it with additional functionalities.
- After development, you must deploy the project using GitHub Pages. Projects that are not deployed to GitHub Pages will not be evaluated and will receive 0 points.
You must create your own repository using this template and upload your work there. Do not attempt to push changes directly to this repository or any of its original branches.
-
Movie Search Input
- Users must be able to enter a movie name and trigger a search.
- A search box and button are sufficient, but adding well-composed UI elements (e.g., filters similar to sahibinden.com) will earn bonus points.
-
Display Movie Details
- Show at least: Title, Year, Genre, Director, and Poster image.
- The design is up to you.
-
Error Handling
- If the movie is not found or the API returns an error, display a clear message to the user.
- Unhandled errors will result in point deductions.
-
Multiple Searches
- Users should be able to perform multiple searches without refreshing the page.
- If the page is refreshed, the last search view should be retained (e.g., using LocalStorage or URL parameters).
-
Backend Proxy (Optional)
- If you implement a backend, it should handle API requests and return clean JSON to the frontend.
-
Performance
- API calls should be efficient. Avoid unnecessary repeated requests.
-
Usability
- The interface should be simple, intuitive, and user-friendly.
- The design is up to you.
-
Portability
- The application should work across modern browsers and be responsive for different screen sizes.
-
Maintainability
- Code should be modular, well-documented, and easy to extend.
Once you have completed the project, ensure you have the following ready:
- A public GitHub repository containing your project code (created via the template).
- A hosted version of the project deployed on GitHub Pages.