-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create the React app and install basic dependencies - Setup
- Loading branch information
1 parent
6946d46
commit 999924c
Showing
17 changed files
with
20,291 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"presets": [ | ||
"@babel/preset-react" | ||
], | ||
"plugins": ["@babel/plugin-syntax-jsx"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
{ | ||
"env": { | ||
"browser": true, | ||
"es6": true, | ||
"jest": true | ||
}, | ||
"parser": "@babel/eslint-parser", | ||
"parserOptions": { | ||
"ecmaFeatures": { | ||
"jsx": true | ||
}, | ||
"ecmaVersion": 2018, | ||
"sourceType": "module" | ||
}, | ||
"extends": ["airbnb", "plugin:react/recommended", "plugin:react-hooks/recommended"], | ||
"plugins": ["react"], | ||
"rules": { | ||
"react/jsx-filename-extension": ["warn", { "extensions": [".js", ".jsx"] }], | ||
"react/react-in-jsx-scope": "off", | ||
"import/no-unresolved": "off", | ||
"import/no-extraneous-dependencies": ["error", {"devDependencies": true}], | ||
"no-shadow": "off" | ||
}, | ||
"overrides": [ | ||
{ | ||
// feel free to replace with your preferred file pattern - eg. 'src/**/*Slice.js' or 'redux/**/*Slice.js' | ||
"files": ["src/**/*Slice.js"], | ||
// avoid state param assignment | ||
"rules": { "no-param-reassign": ["error", { "props": false }] } | ||
} | ||
], | ||
"ignorePatterns": [ | ||
"dist/", | ||
"build/" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Linters | ||
|
||
on: pull_request | ||
|
||
env: | ||
FORCE_COLOR: 1 | ||
|
||
jobs: | ||
eslint: | ||
name: ESLint | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: "18.x" | ||
- name: Setup ESLint | ||
run: | | ||
npm install --save-dev [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] @babel/[email protected] @babel/[email protected] @babel/[email protected] @babel/[email protected] @babel/[email protected] | ||
[ -f .eslintrc.json ] || wget https://raw.githubusercontent.com/microverseinc/linters-config/master/react-redux/.eslintrc.json | ||
[ -f .babelrc ] || wget https://raw.githubusercontent.com/microverseinc/linters-config/master/react-redux/.babelrc | ||
- name: ESLint Report | ||
run: npx eslint "**/*.{js,jsx}" | ||
stylelint: | ||
name: Stylelint | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: "18.x" | ||
- name: Setup Stylelint | ||
run: | | ||
npm install --save-dev [email protected] [email protected] [email protected] [email protected] | ||
[ -f .stylelintrc.json ] || wget https://raw.githubusercontent.com/microverseinc/linters-config/master/react-redux/.stylelintrc.json | ||
- name: Stylelint Report | ||
run: npx stylelint "**/*.{css,scss}" | ||
nodechecker: | ||
name: node_modules checker | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Check node_modules existence | ||
run: | | ||
if [ -d "node_modules/" ]; then echo -e "\e[1;31mThe node_modules/ folder was pushed to the repo. Please remove it from the GitHub repository and try again."; echo -e "\e[1;32mYou can set up a .gitignore file with this folder included on it to prevent this from happening in the future." && exit 1; fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
{ | ||
"extends": ["stylelint-config-standard"], | ||
"plugins": ["stylelint-scss", "stylelint-csstree-validator"], | ||
"rules": { | ||
"at-rule-no-unknown": [ | ||
true, | ||
{ | ||
"ignoreAtRules": ["tailwind", "apply", "variants", "responsive", "screen"] | ||
} | ||
], | ||
"scss/at-rule-no-unknown": [ | ||
true, | ||
{ | ||
"ignoreAtRules": ["tailwind", "apply", "variants", "responsive", "screen"] | ||
} | ||
], | ||
"csstree/validator": true | ||
}, | ||
"ignoreFiles": ["build/**", "dist/**", "**/reset*.css", "**/bootstrap*.css", "**/*.js", "**/*.jsx"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,201 @@ | ||
# space-travelers-hub | ||
<a name="readme-top"></a> | ||
<div align="center"> | ||
<br/> | ||
<h1><b>Space Travelers' Hub</b></h1> | ||
</div> | ||
|
||
# 📗 Table of Contents | ||
|
||
- [📗 Table of Contents](#-table-of-contents) | ||
- [Space Travelers' Hub](#space-travelers-hub) | ||
- [🛠 Built With ](#-built-with-) | ||
- [Tech Stack ](#tech-stack-) | ||
- [Key Features ](#key-features-) | ||
- [💻 Getting Started ](#-getting-started-) | ||
- [Setup](#setup) | ||
- [Prerequisites](#prerequisites) | ||
- [Install](#install) | ||
- [Usage](#usage) | ||
- [Build](#build) | ||
- [👥 Authors ](#-authors-) | ||
- [🔭 Future Features ](#-future-features-) | ||
- [🤝 Contributing ](#-contributing-) | ||
- [⭐️ Show your support ](#️-show-your-support-) | ||
- [🙏 Acknowledgments ](#-acknowledgments-) | ||
- [📝 License ](#-license-) | ||
|
||
# Space Travelers' Hub<a name="about-project"></a> | ||
|
||
**Space Travelers' Hub** is a web application of a company that offers space travel services. The application is made with ReactJS and Redux to manage the global state of the application, the spaceX API is used to query and show users the list of available Missions and Rockets. | ||
|
||
## 🛠 Built With <a name="built-with"></a> | ||
|
||
### Tech Stack <a name="tech-stack"></a> | ||
|
||
<details> | ||
<summary>Client</summary> | ||
<ul> | ||
<li><a href="https://es.react.dev">React Library</a></li> | ||
<li><a href="https://reactrouter.com/en/main">React Router</a></li> | ||
<li><a href="https://nodejs.org">Node.js</a></li> | ||
<li><a href="https://create-react-app.dev">Create React App</a></li> | ||
<li><a href="https://stylelint.io/">Stylelint.io</a></li> | ||
<li><a href="https://eslint.org/">ESlint.org</a></li> | ||
<li><a href="https://redux-toolkit.js.org/">Redux Toolkit</a></li> | ||
</ul> | ||
</details> | ||
|
||
### Key Features <a name="key-features"></a> | ||
|
||
- **Using the ReactJS library** | ||
- **Using the ReactJS Router library** | ||
- **Using JSX syntax** | ||
- **Using semantic HTML** | ||
- **SPA Approach** | ||
- **Responsive Design** | ||
- **Using Redux Toolkit for a global state management** | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
|
||
## 💻 Getting Started <a name="getting-started"></a> | ||
|
||
To get a local copy up and running, follow these steps. | ||
|
||
### Setup | ||
|
||
Clone this repository to your desired folder: | ||
|
||
```sh | ||
cd my-folder-name | ||
git clone [email protected]:NitBravoA92/space-travelers-hub.git | ||
``` | ||
|
||
### Prerequisites | ||
|
||
In order to install, modify and run this project, it is necessary to have the following applications installed: | ||
|
||
- **Git:** to manage the project versions of source code. [You can Download Git here](https://git-scm.com/) | ||
|
||
- **Nodejs and NPM:** to install and manage the project dependencies. [Nodejs and NPM installation guide](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) | ||
|
||
- **A code editor** like Visual Studio Code (Recommended) or any other of your preference. It is necessary to open the project and add or modify the source code. [You can Download Visual Studio Code here](https://code.visualstudio.com/) | ||
|
||
It is also important to have at least basic knowledge about ReactJS, JSX, HTML, CSS and Javascript languages so you will be able to understand and work with the code of the project. | ||
- [Learn the basics of HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) | ||
- [Learn the basics of CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) | ||
- [JavaScript basics](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics) | ||
- [Javascript Arrays](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array) | ||
- [Javascript Objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) | ||
- [JavaScript modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) | ||
- [ReactJS](https://react.dev/learn) | ||
- [JSX](https://react.dev/learn/writing-markup-with-jsx) | ||
- [Create React App](https://github.com/facebook/create-react-app) | ||
|
||
|
||
### Install | ||
|
||
Install this project by running the next command into your project folder: | ||
|
||
```sh | ||
npm install | ||
``` | ||
|
||
All the packages and libraries necessary for the project to work will be installed in a folder called /node_module. After this installation, the project will be ready to use. | ||
|
||
### Usage | ||
|
||
In the project directory, you can run: | ||
|
||
- `npm start` | ||
|
||
Runs the app in the development mode.\ | ||
Open [http://localhost:3000](http://localhost:3000) to view it in your browser. | ||
|
||
The page will reload when you make changes. | ||
|
||
|
||
You may also see any CSS and JS linters errors in the console running the following commands: | ||
|
||
CSS Linter | ||
```sh | ||
npx stylelint "**/*.{css,scss}" | ||
``` | ||
|
||
Javascript Linter | ||
```sh | ||
npx eslint "**/*.{js,jsx}" | ||
``` | ||
|
||
### Build | ||
|
||
- `npm run build` | ||
|
||
Builds the app for production to the `build` folder.\ | ||
It correctly bundles React in production mode and optimizes the build for the best performance. | ||
|
||
The build is minified and the filenames include the hashes.\ | ||
Your app is ready to be deployed! | ||
|
||
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. | ||
|
||
|
||
**Note**: Please only modify the components files and the CSS files. Do not modify configurations files of the project. | ||
|
||
|
||
## 👥 Authors <a name="authors"></a> | ||
|
||
👤 **Nitcelis Bravo** | ||
|
||
- GitHub: [Nitcelis Bravo](https://github.com/NitBravoA92) | ||
- Twitter: [@softwareDevOne](https://twitter.com/softwareDevOne) | ||
- LinkedIn: [Nitcelis Bravo Alcala](https://www.linkedin.com/in/nitcelis-bravo-alcala-b65340158) | ||
|
||
👤 **Lawrence Kioko** | ||
|
||
- GitHub: [Lawrence Muema Kioko](https://github.com/Kidd254) | ||
- Twitter: [@twitterhandle](https://twitter.com/lawrenc98789206) | ||
- LinkedIn: [Lawrence Muema Kioko](https://www.linkedin.com/in/lawrence-muema-kioko-972035240/) | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
## 🔭 Future Features <a name="future-features"></a> | ||
|
||
- [ ] **Create My Profile view** | ||
- [ ] **Create Missions view** | ||
- [ ] **Create Rockets view** | ||
- [ ] **Use Redux to manage the states of rockets, missions** | ||
- [ ] **Fetch data using the spaceX API** | ||
- [ ] **Add actions and other functionality to Join/Leave Missions** | ||
- [ ] **Add actions and other functionality to Reserve Rocket and Cancel Reservation** | ||
- [ ] **Create the list of My Missions and My Rockets in the My Profile view** | ||
- [ ] **Add CSS styles to the UI following the mobile first approach** | ||
- [ ] **Create Unit tests using Jest and React testing library** | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
## 🤝 Contributing <a name="contributing"></a> | ||
|
||
Contributions, issues, suggestions and feature requests are welcome! | ||
Feel free to check the [issues page](../../issues/). | ||
|
||
To do Contributions, please fork this repository, create a new branch and then create a Pull Request from your branch. You can find detailed description of this process in: [A Step by Step Guide to Making Your First GitHub Contribution by Brandon Morelli](https://codeburst.io/a-step-by-step-guide-to-making-your-first-github-contribution-5302260a2940) | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
## ⭐️ Show your support <a name="support"></a> | ||
|
||
If you liked this project, give me a "Star" (clicking the star button at the beginning of this page), share this repo with your developer community or make your contributions. | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> | ||
|
||
## 🙏 Acknowledgments <a name="acknowledgements"></a> | ||
|
||
I would like to thank my Microverse teammates for their support. They have supported me a lot in carrying out this project, giving me suggestions, good advice and solving my code doubts. | ||
|
||
|
||
## 📝 License <a name="license"></a> | ||
|
||
This project is [MIT](./LICENSE) licensed. | ||
|
||
<p align="right">(<a href="#readme-top">back to top</a>)</p> |
Oops, something went wrong.