Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mahammad-mostafa/delicious-meals

This is the capstone project for the second module in Microverse program. It is a group project which is about meal recipes app.
https://github.com/mahammad-mostafa/delicious-meals

await-async capstone-project es6 es6-modules html-css-javascript jest kanban-board microverse promises rest-api single-page-app unit-testing webpack5

Last synced: 4 months ago
JSON representation

This is the capstone project for the second module in Microverse program. It is a group project which is about meal recipes app.

Awesome Lists containing this project

README

        

# 🏷️ Delicious Meals

This is the capstone project of the second module in the **Microverse** program.


Check the below contents for further details about this project.

# 📗 Contents

- [Description](#description)
- [Instructions](#instructions)
- [Authors](#authors)
- [Future](#future)
- [Contributions](#contributions)
- [Support](#support)
- [Acknowledgements](#acknowledgements)
- [License](#license)

# 📖 Description

This project is a simple meal recipes app with `ES6` modules and bundled with `WebPack`.
It consumes data from two external `API`s and follows `GitFlow` workflow.
Data is loaded with asynchronous calls using `async` functions & `promises`.
Unit testing is applied during this project using `Jest` framework.
All project files are contained in `src` directory & and live build in `dist` directory.
Also config linters for (`HTML` / `CSS3` / `JavaScript`) in the `.github` folder.

📌 **Live Demo:**
- See the project live from [here](https://mahammad-mostafa.github.io/delicious-meals/dist).
- Check the presentation video from [here](https://drive.google.com/file/d/1iQXqlGEEQ7VRIuIBgGGwm4gcyA74OB6O).

📌 **Tech Stack:**
- Page strucutre is built with `HTML5`
- Styling is built with `CSS3`
- Dynamic content is built with `JavaScript`
- Bundling is done with `WebPack`
- Unit testing is done with `Jest`

📌 **Key Features:**
- Single page app with all content loaded dynamically
- Responsive layout with all screen sizes
- Fixed header & footer elements with scrolling content
- Meal recipes data is fetched from TheMealDB api
- Interaction data is fetched from involvement api
- Each item displays (thumbnail image / recipe title / total likes)
- Two buttons available (comments / reservations)
- Comment button opens a popup to display item details and comments
- New comments are displayed automatically with name & date
- Reservation button opens a popup to display item details and reservations
- New reservations are displayed automatically with name & date
- Transition effects while loading both list items & popup window
- Display an animated loader during all network calls

back to top

# 🛠️ Instructions

You can easily download or fork this repository and work on it immadiately!

📌 **Prerequisites:**
- `NodeJS` for installing & running all packages

📌 **Installation:**
- Install all dependencies with `npm`
```
npm install
```

📌 **Development:**
- For live development on `localhost:8080` run:
```
npm run start
```

📌 **Testing:**
- To run unit tests use:
```
npm run test
```

📌 **Deployment:**
- You can deploy this project by uploading files in the `dist` folder to a live server.
- Create the distribution build using this command:
```
npm run build
```

back to top

# 👥 Authors

📌 **Mahammad:**
- [GitHub](https://github.com/mahammad-mostafa)
- [Twitter](https://twitter.com/mahammad_mostfa)
- [LinkedIn](https://linkedin.com/in/mahammad-mostafa)

📌 **Bruno:**
- [GitHub](https://github.com/kambereBr)
- [Twitter](https://twitter.com/kambereBr)
- [LinkedIn](https://www.linkedin.com/in/bruno-kambere-399447138/)

📌 **Felipe:**
- [GitHub](https://github.com/Felipe-Perez-Ferraro)

back to top

# 🔭 Future

Some additional features I may implement in the project:
- [ ] Using `CSS` preprocessors and their relevant loaders
- [ ] Implement two `WebPack` configurations for production & development

back to top

# 🤝🏻 Contributions

Wish to contribute to this project?


Contributions, issues, and feature requests are more than welcome!


Feel free to check the [issues](../../issues) page too.

back to top

# ⭐️ Support

Like this project? Show your support by starring!

back to top

# 🙏🏻 Acknowledgements

I thank everyone at **Microverse** for guiding me through this project.

back to top

# 📝 License

This project is [MIT](LICENSE.md) licensed.

back to top