diff --git a/src/data/projects/blogging-platform-api.md b/src/data/projects/blogging-platform-api.md index 640b5c3f25a4..b48ff261109e 100644 --- a/src/data/projects/blogging-platform-api.md +++ b/src/data/projects/blogging-platform-api.md @@ -2,7 +2,7 @@ title: 'Blogging Platform API' description: 'Build a RESTful API for a personal blogging platform' isNew: false -sort: 7 +sort: 800 difficulty: 'beginner' nature: 'API' skills: diff --git a/src/data/projects/broadcast-server.md b/src/data/projects/broadcast-server.md index ae289e25aff8..a71f8a6caac6 100644 --- a/src/data/projects/broadcast-server.md +++ b/src/data/projects/broadcast-server.md @@ -2,7 +2,7 @@ title: 'Broadcast Server' description: 'Build a server that can broadcast messages to connected clients.' isNew: false -sort: 12 +sort: 1500 difficulty: 'intermediate' nature: 'CLI' skills: diff --git a/src/data/projects/caching-server.md b/src/data/projects/caching-server.md index f158ed7833d9..b85eea1e1c57 100644 --- a/src/data/projects/caching-server.md +++ b/src/data/projects/caching-server.md @@ -2,7 +2,7 @@ title: 'Caching Proxy' description: 'Build a caching server that caches responses from other servers.' isNew: false -sort: 10 +sort: 1200 difficulty: 'intermediate' nature: 'CLI' skills: diff --git a/src/data/projects/database-backup-utility.md b/src/data/projects/database-backup-utility.md index ca419e5d3ce6..9af4d22ff1a7 100644 --- a/src/data/projects/database-backup-utility.md +++ b/src/data/projects/database-backup-utility.md @@ -2,7 +2,7 @@ title: 'Database Backup Utility' description: 'Build a database backup utility that can backup and restore any DB' isNew: false -sort: 18 +sort: 2100 difficulty: 'advanced' nature: 'CLI' skills: diff --git a/src/data/projects/ecommerce-api.md b/src/data/projects/ecommerce-api.md index dc43d0346e9a..1981747a6ff0 100644 --- a/src/data/projects/ecommerce-api.md +++ b/src/data/projects/ecommerce-api.md @@ -2,7 +2,7 @@ title: 'E-Commerce API' description: 'E-Commerce platform with cart and payment gateway integration.' isNew: false -sort: 13 +sort: 1600 difficulty: 'intermediate' nature: 'API' skills: diff --git a/src/data/projects/expense-tracker-api.md b/src/data/projects/expense-tracker-api.md index 523dc3746489..8a4802f293b4 100644 --- a/src/data/projects/expense-tracker-api.md +++ b/src/data/projects/expense-tracker-api.md @@ -2,7 +2,7 @@ title: 'Expense Tracker API' description: 'Build an API for an expense tracker application.' isNew: false -sort: 9 +sort: 1000 difficulty: 'beginner' nature: 'API' skills: diff --git a/src/data/projects/expense-tracker.md b/src/data/projects/expense-tracker.md index 393766fdf72e..545b75ccc910 100644 --- a/src/data/projects/expense-tracker.md +++ b/src/data/projects/expense-tracker.md @@ -2,7 +2,7 @@ title: 'Expense Tracker' description: 'Build a simple expense tracker to manage your finances.' isNew: false -sort: 3 +sort: 300 difficulty: 'beginner' nature: 'CLI' skills: diff --git a/src/data/projects/fitness-workout-tracker.md b/src/data/projects/fitness-workout-tracker.md index 418cc6612785..b55908d23a24 100644 --- a/src/data/projects/fitness-workout-tracker.md +++ b/src/data/projects/fitness-workout-tracker.md @@ -2,7 +2,7 @@ title: 'Workout Tracker' description: 'App to let users track their workouts and progress.' isNew: false -sort: 14 +sort: 1700 difficulty: 'intermediate' nature: 'API' skills: diff --git a/src/data/projects/github-user-activity.md b/src/data/projects/github-user-activity.md index f74bea9006ec..8c6e2e912979 100644 --- a/src/data/projects/github-user-activity.md +++ b/src/data/projects/github-user-activity.md @@ -2,7 +2,7 @@ title: 'GitHub User Activity' description: 'Use GitHub API to fetch user activity and display it in the terminal.' isNew: false -sort: 2 +sort: 200 difficulty: 'beginner' nature: 'CLI' skills: diff --git a/src/data/projects/image-processing-service.md b/src/data/projects/image-processing-service.md index 80bb061e8e42..84a7b47ff59d 100644 --- a/src/data/projects/image-processing-service.md +++ b/src/data/projects/image-processing-service.md @@ -2,7 +2,7 @@ title: 'Image Processing Service' description: 'Build a service that allows users to upload and process images.' isNew: false -sort: 15 +sort: 1800 difficulty: 'intermediate' nature: 'API' skills: diff --git a/src/data/projects/markdown-note-taking-app.md b/src/data/projects/markdown-note-taking-app.md index 978fc675034c..1c44cd880d9a 100644 --- a/src/data/projects/markdown-note-taking-app.md +++ b/src/data/projects/markdown-note-taking-app.md @@ -2,7 +2,7 @@ title: 'Markdown Note-taking App' description: 'Build a note-taking app that uses markdown for formatting.' isNew: false -sort: 10 +sort: 1300 difficulty: 'intermediate' nature: 'API' skills: diff --git a/src/data/projects/movie-reservation-system.md b/src/data/projects/movie-reservation-system.md index c565e0335e02..2018448a9ee1 100644 --- a/src/data/projects/movie-reservation-system.md +++ b/src/data/projects/movie-reservation-system.md @@ -2,7 +2,7 @@ title: 'Movie Reservation System' description: 'Build a system that allows users to reserve movie tickets.' isNew: false -sort: 16 +sort: 1900 difficulty: 'advanced' nature: 'API' skills: diff --git a/src/data/projects/number-guessing-game.md b/src/data/projects/number-guessing-game.md index 229fe457ea7d..139e22b5ce1d 100644 --- a/src/data/projects/number-guessing-game.md +++ b/src/data/projects/number-guessing-game.md @@ -2,7 +2,7 @@ title: 'Number Guessing Game' description: 'Build a simple number guessing game to test your luck.' isNew: false -sort: 4 +sort: 400 difficulty: 'beginner' nature: 'CLI' skills: diff --git a/src/data/projects/personal-blog.md b/src/data/projects/personal-blog.md index de3d112ee565..0db5925d0ad1 100644 --- a/src/data/projects/personal-blog.md +++ b/src/data/projects/personal-blog.md @@ -2,7 +2,7 @@ title: 'Personal Blog' description: 'Build a personal blog to write and publish articles on various topics.' isNew: false -sort: 5 +sort: 600 difficulty: 'beginner' nature: 'Web App' skills: diff --git a/src/data/projects/realtime-leaderboard-system.md b/src/data/projects/realtime-leaderboard-system.md index 6bfa830aca1b..0df87529169b 100644 --- a/src/data/projects/realtime-leaderboard-system.md +++ b/src/data/projects/realtime-leaderboard-system.md @@ -2,7 +2,7 @@ title: 'Real-time Leaderboard' description: 'Create a real-time leaderboard system for ranking and scoring.' isNew: false -sort: 17 +sort: 2000 difficulty: 'advanced' nature: 'API' skills: diff --git a/src/data/projects/scalable-ecommerce-platform.md b/src/data/projects/scalable-ecommerce-platform.md index a25568452140..b5340ce3fee5 100644 --- a/src/data/projects/scalable-ecommerce-platform.md +++ b/src/data/projects/scalable-ecommerce-platform.md @@ -2,7 +2,7 @@ title: 'Scalable E-Commerce Platform' description: 'Build an e-commerce platform using microservices architecture.' isNew: false -sort: 19 +sort: 2200 difficulty: 'advanced' nature: 'API' skills: diff --git a/src/data/projects/task-tracker.md b/src/data/projects/task-tracker.md index e2c52a8edbda..9111be13cb0c 100644 --- a/src/data/projects/task-tracker.md +++ b/src/data/projects/task-tracker.md @@ -2,7 +2,7 @@ title: 'Task Tracker' description: 'Build a CLI app to track your tasks and manage your to-do list.' isNew: false -sort: 1 +sort: 100 difficulty: 'beginner' nature: 'CLI' skills: diff --git a/src/data/projects/tmdb-cli.md b/src/data/projects/tmdb-cli.md new file mode 100644 index 000000000000..3684fa7ee01c --- /dev/null +++ b/src/data/projects/tmdb-cli.md @@ -0,0 +1,54 @@ +--- +title: 'TMDB CLI Tool' +description: 'Use TMDB API to fetch movie information and display it in the terminal.' +isNew: false +sort: 1100 +difficulty: 'beginner' +nature: 'CLI' +skills: + - 'Programming Language' + - 'CLI' + - 'API Consumption' +seo: + title: 'TMDB CLI Tool' + description: 'Build a command line interface (CLI) to fetch and display common TMDB requests.' + keywords: + - 'tmdb user activity cli' + - 'backend project idea' +roadmapIds: + - 'backend' + - 'nodejs' + - 'python' + - 'java' + - 'golang' + - 'spring-boot' + - 'cpp' +--- + +In this project, you will build a simple command line interface (CLI) to fetch data from The Movie Database (TMSB) and display it in the terminal. This project will help you practice your programming skills, including working with APIs, handling JSON data, and building a simple CLI application. + +## Requirements + +The application should run from the command line, and be able to pull and show the popular, top-rated, upcoming and now playing movies from the TMDB API. The user should be able to specify the type of movies they want to see by passing a command line argument to the CLI tool. + +Here is how the CLI tool usage should look like: + +```bash +tmdb-app --type "playing" +tmdb-app --type "popular" +tmdb-app --type "top" +tmdb-app --type "upcoming" +``` + +You can look at the API documentation to understand how to fetch the data for each type of movie. + +- [Now Playing Movies](https://developer.themoviedb.org/reference/movie-now-playing-list) +- [Popular Movies](https://developer.themoviedb.org/reference/movie-popular-list) +- [Top Rated Movies](https://developer.themoviedb.org/reference/movie-top-rated-list) +- [Upcoming Movies](https://developer.themoviedb.org/reference/movie-upcoming-list) + +There are some considerations to keep in mind: + +- Handle errors gracefully, such as API failures or network issues. +- Use a programming language of your choice to build this project. +- Make sure to include a README file with instructions on how to run the application and any other relevant information. \ No newline at end of file diff --git a/src/data/projects/todo-list-api.md b/src/data/projects/todo-list-api.md index ec9a46bfbc50..bab3902c5589 100644 --- a/src/data/projects/todo-list-api.md +++ b/src/data/projects/todo-list-api.md @@ -2,7 +2,7 @@ title: 'Todo List API' description: 'Build a RESTful API to allow users to manage their to-do list.' isNew: false -sort: 7 +sort: 900 difficulty: 'beginner' nature: 'API' skills: diff --git a/src/data/projects/unit-converter.md b/src/data/projects/unit-converter.md index 9f99a8b83216..c6d680846a6b 100644 --- a/src/data/projects/unit-converter.md +++ b/src/data/projects/unit-converter.md @@ -2,7 +2,7 @@ title: 'Unit Converter' description: 'Unit converter to convert between different units of measurement.' isNew: false -sort: 4 +sort: 500 difficulty: 'beginner' nature: 'Web App' skills: diff --git a/src/data/projects/url-shortening-service.md b/src/data/projects/url-shortening-service.md index e7b943fb5dcd..43c0d078defb 100644 --- a/src/data/projects/url-shortening-service.md +++ b/src/data/projects/url-shortening-service.md @@ -2,7 +2,7 @@ title: 'URL Shortening Service' description: 'Build a URL Shortener API that helps shorten long URLs.' isNew: false -sort: 11 +sort: 1400 difficulty: 'intermediate' nature: 'API' skills: diff --git a/src/data/projects/weather-api-wrapper-service.md b/src/data/projects/weather-api-wrapper-service.md index b87f794516f3..4d7ad7036e90 100644 --- a/src/data/projects/weather-api-wrapper-service.md +++ b/src/data/projects/weather-api-wrapper-service.md @@ -2,7 +2,7 @@ title: 'Weather API' description: 'Build a weather API that fetches and returns weather data.' isNew: false -sort: 7 +sort: 700 difficulty: 'beginner' nature: 'API' skills: