Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
3431107
feat: env created (won't appear) and made file executable on CL
JordixArnau Jul 29, 2021
292a865
fix: added missing require for env to acces env file
JordixArnau Jul 29, 2021
ce7bbba
Merge pull request #10 from JordixArnau/feat/02-EnvAndExec
Ernest-DT Jul 30, 2021
30ac837
feat: request function done
JordixArnau Jul 30, 2021
70e432d
Merge pull request #11 from JordixArnau/feat/04A-GeneralAPIRequest
Ethan-Alfaro Jul 30, 2021
04c36f7
feat: options implemented
JordixArnau Jul 30, 2021
93de472
feat: spinner implemented
JordixArnau Jul 30, 2021
2a40a7f
feat: api request and error handling implemented
JordixArnau Jul 30, 2021
23dd937
feat: data and pagination render implemented
JordixArnau Aug 1, 2021
ce67ef1
feat: error handling completed
JordixArnau Aug 2, 2021
1e42f75
feat: options and request implemented
JordixArnau Aug 2, 2021
344e056
feat: movies render done
JordixArnau Aug 2, 2021
de3c558
fix: success spinner adapted to each case
JordixArnau Aug 2, 2021
5ca4719
fix: personalized spinner for each command
JordixArnau Aug 2, 2021
8e9c4f9
Merge pull request #12 from JordixArnau/feat/04-Persons
Ethan-Alfaro Aug 2, 2021
3e10967
Feat: Get Movie
Ethan-Alfaro Aug 2, 2021
ee8677a
feat: Get Persons & Movie
Ethan-Alfaro Aug 2, 2021
da05582
Merge pull request #14 from JordixArnau/feat/07-getMovie
JordixArnau Aug 2, 2021
f32ed10
enh: updated main with some changes
JordixArnau Aug 2, 2021
a1e952c
Merge branch 'fix/13-OrderFix' into feat/06-Movies
JordixArnau Aug 2, 2021
05fb644
enh: united all changes and ordered them
JordixArnau Aug 2, 2021
4940308
Merge pull request #15 from JordixArnau/feat/06-Movies
Ethan-Alfaro Aug 2, 2021
ed85064
feat: person implemented
JordixArnau Aug 2, 2021
3ec592a
feat: postman collection
JordixArnau Aug 2, 2021
9935be7
Feat: Readme created
JordixArnau Aug 2, 2021
f9ad2a6
Fix: fixed minor errors
JordixArnau Aug 2, 2021
15cd181
Merge branch 'main' into feat/10-LastDetails
JordixArnau Aug 2, 2021
18e1481
fix: fixed readme table of contents
JordixArnau Aug 2, 2021
d518dbf
Merge pull request #16 from JordixArnau/feat/10-LastDetails
Ethan-Alfaro Aug 3, 2021
d4656f7
Merge branch 'main' into fix/planb
JordixArnau Aug 3, 2021
e839f5a
Merge pull request #17 from JordixArnau/fix/planb
Ethan-Alfaro Aug 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 35 additions & 129 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
`#node.js` `#master-in-software-engineering`
`#node.js` `#master-in-software-engineering` `CLI`

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->

Expand All @@ -8,156 +8,62 @@

# Assembler School: Node.js MovieDB CLI App <!-- omit in toc -->

In this project you will learn how to create a cli app with Node.js.
In this project we have developed a CLI program with node.js that is able to run using a terminal application.
The program is connecting to a third-party API to show the data returned and store it in the local system.

## Table of Contents <!-- omit in toc -->

- [Getting Started](#getting-started)
- [The Project](#the-project)
- [Project requirements](#project-requirements)
- [Project delivery](#project-delivery)
- [Resources](#resources)

## Getting Started

These instructions will get you a copy of the project up and running on your
local machine for development and testing purposes.

See deployment for notes on how to deploy the project on a live system.

### The repository

First, you will need to `clone` or `fork` the repository into your Github
account:

<img src="https://docs.github.com/assets/images/help/repository/fork_button.jpg" alt="Fork on GitHub" width='450'>

```
$ git clone https://github.com/assembler-school/node-moviedb-cli.git
```
## Repository <!-- omit in toc -->

## Contents and Branches Naming Strategy <!-- omit in toc -->
Project created from the Assembler School repository _node-moviedb-cli.git_:

The repository is made up of several branches that include the contents of each
section.
https://github.com/assembler-school/node-moviedb-cli.git

The branches follow a naming strategy like the following:

- `main`: includes the main contents and the instructions
- `assembler-solution`: includes the solution

### Fetching All the Branches

In order to fetch all the remote branches in the repository, you can use the
following command:

```sh
$ git fetch --all
```
## Technologies used <!-- omit in toc -->

### List Both Remote Tracking Branches and Local Branches
\* JavaScript
\* NodeJS

```sh
$ git branch --all
```
## Table of Contents <!-- omit in toc -->

Then, you can create a local branch based on a remote branch with the following
command:
- [Main objectives](#main-objectives)
- [Installing](#installing)
- [Resources](#resources)
- [Authors](#authors)

```sh
$ git checkout -b <new_branch_name> <remote_branch_name>
```
## Main objectives

### Installing
* Learn how to connect to a third party API using node.js
* Learn how to implement a CLI program using node.js
* Learn how to work with the filesystem apis of node.js
* Learn how to interact with a CLI program and develop a menu that users can use to know how to execute the program

First, you will need to install the dependencies with: `npm install`.
## Installing
First, you will need to install the dependencies with: npm install.

Run the following command in your terminal after cloning the main repo:

```sh
```
$ npm install
```

### Running the Tests

The tests that validate your solution can be executed by runing the following
command:
Next you can install the general command _moviedb_ so you can use it:

```
$ npm run test
$ npm install -g
```

### Git `precommit` and `prepush` Hooks

In the `assembler-solution` branch you can see an implementation of these tools
if you'd like to use them.

## Deployment <!-- omit in toc -->

In this pill we won't deploy the app.

## Technologies used <!-- omit in toc -->

- `Node.js`
- `eslint`
- `prettier`
- `lint-staged`
- `husky`

## The Project

In this project you will build a cli app similar to the following screenshot.

<img src="src/img/app-view.png">

## Project requirements

This is an overview of the main requirements of this project. The exact ones are
found in the doc that the academic team will provide you.

- You must follow all the instructions of the project step-by-step
- You should always try to solve them by yourself before asking for help
- You should always help your team members and fellow students of the master so
that you can all learn together and become better software developers and team
members
- You must finish all the steps that are marked as `Required`
- Once you are done, you can move on to the optional ones that are marked as
`Extra 💯`

## Project delivery

To deliver this project you must follow the steps indicated in the document:

- [Submitting a solution](https://www.notion.so/Submitting-a-solution-524dab1a71dd4b96903f26385e24cdb6)
The project is ready for you to play with it!

## Resources

- See the document we provide

## License <!-- omit in toc -->

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
for details

## Contributors ✨ <!-- omit in toc -->

Thanks goes to these wonderful people
([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="http://www.danilucaci.com"><img src="https://avatars.githubusercontent.com/u/19062818?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dani Lucaci</b></sub></a><br /><a href="https://github.com/assembler-school/vanilla-js-project-template/commits?author=danilucaci" title="Code">💻</a> <a href="https://github.com/assembler-school/vanilla-js-project-template/commits?author=danilucaci" title="Documentation">📖</a> <a href="#example-danilucaci" title="Examples">💡</a> <a href="#tool-danilucaci" title="Tools">🔧</a></td>
</tr>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
\* [Build a CLI with Node.js](https://dev.to/rushankhan1/build-a-cli-with-node-js-4jbi)
\* [How to http request with Node.js and https.request](https://www.twilio.com/blog/2017/08/http-requests-in-node-js.html)
\* [Understanding module export in Node.js](https://www.sitepoint.com/understanding-module-exports-exports-node-js/)
\* [The MoviDB API](https://www.themoviedb.org/documentation/api)
\* [Ora Module](https://www.npmjs.com/package/ora)
\* [Commander Module](https://www.npmjs.com/package/commander)

<!-- ALL-CONTRIBUTORS-LIST:END -->
## Authors

This project follows the
[all-contributors](https://github.com/all-contributors/all-contributors)
specification. Contributions of any kind welcome!
- [@Ethan-Alfaro](https://github.com/Ethan-Alfaro)
- [@Ernest-DT](https://github.com/Ernest-DT)
- [@JordixArnau](https://github.com/JordixArnau)
Loading