diff --git a/src/data/projects/blogging-platform-api.md b/src/data/projects/blogging-platform-api.md index 640b5c3f2..b48ff2611 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 ae289e25a..a71f8a6ca 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 f158ed783..b85eea1e1 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 ca419e5d3..9af4d22ff 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 dc43d0346..1981747a6 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 523dc3746..8a4802f29 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 393766fdf..545b75ccc 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 418cc6612..b55908d23 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 f74bea900..8c6e2e912 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 80bb061e8..84a7b47ff 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 978fc6750..1c44cd880 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 c565e0335..2018448a9 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 229fe457e..139e22b5c 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 de3d112ee..0db5925d0 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 6bfa830ac..0df875291 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 a25568452..b5340ce3f 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 e2c52a8ed..9111be13c 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 000000000..3684fa7ee --- /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 ec9a46bfb..bab3902c5 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 9f99a8b83..c6d680846 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 e7b943fb5..43c0d078d 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 b87f79451..4d7ad7036 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: