Giter Club home page Giter Club logo

dev-mamun / art-gallery Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 3.83 MB

API-based JavaScript project, is about building web application based on an external API. An API that provides data about a specific topic. The webapp will have 2 or 3 user interfaces.In this project user can submit there like and comment on selected topic.

Home Page: https://art-gallery-c4n9.onrender.com

License: MIT License

HTML 13.28% JavaScript 62.63% CSS 18.49% SCSS 5.60%
css javascript jest nodejs webpack bootstrap5

art-gallery's Introduction

๐Ÿ“— Table of Contents

๐Ÿ“– Art Work

JavaScript project - API-based webapp, using webpack and ES6 features, notably modules.

Click here for more details

๐Ÿ›  Tech Stack

  • HTML
  • CSS
  • JavaScript ES6
  • NodeJS
  • Webpack

Key Features

  • Use callbacks and promises
  • Use ES6 modules to write modular JavaScript.
  • Use webpack to bundle JavaScript.

(back to top)

๐Ÿš€ Live Demo

Live Demo Link

(back to top)

๐Ÿ’ป Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

In order to run this project you need:

  • GIT
    • if you don't have git installed on your machine you can download it from here.
  • Linter
    • You can get install guide from here
  • Node.js & Npm
    • if you don't have npm installed on your machine you can download it from here

Setup

Once you have git installed on your machine you can clone project by running the command below. To clone your project to your local machine

  git clone [email protected]:dev-mamun/js-capstone.git

Alternatively, you can download the zip file of your project by clicking on the Code button on the right side of your project page and clicking on Download ZIP

Install

Install this project with:

  cd js-capstone
  npm install

Usage

To run the project, use the following : (Port 3000)

  npm run dev
  browse http://localhost:3000/

(back to top)

Run tests

To run tests, run the following command:

To check for html errors run:

  npx hint .

To check for css errors run:

  npx stylelint "**/*.{css,scss}"

To check for js errors run:

  npx eslint .

๐Ÿ‘ฅ Authors

๐Ÿ‘ค Abdullah AL mamun

๐Ÿ‘ค Anita Sharma

๐Ÿ”ญ Future Features

  • Fetch Data using api
  • Art work list
  • Like count
  • User Like
  • Comments Popup
  • Reservation Popup

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

โญ๏ธ Show your support

Give a โญ๏ธ if you like this project!

If you like this project feel comfortable to endorse the author. You can contact the author via Twitter or Linkedin or directly message at [email protected]

(back to top)

๐Ÿ™ Acknowledgments

I would like to thank...

(back to top)

โ“ FAQ

-Why use linters?

  • The use of linters helps to diagnose and fix technical issues, also linters can help teams achieve a more readable and consistent style, through the enforcement of its rules.

-Why use modular programming?

  • Modular programming usually makes your code easier to read because it means separating it into functions that each only deal with one aspect of the overall functionality.

-Why use OOP?

  • With this type of programming, a program comprises objects that can interact with the user, other objects, or other programs. This makes programs more efficient and easier to understand.

(back to top)

๐Ÿ“ License

This project is MIT licensed.

(back to top)

art-gallery's People

Contributors

anita00001 avatar dev-mamun avatar

Stargazers

Olanrewaju Oduola avatar Moses Ezechukwu avatar

Watchers

 avatar  avatar

Forkers

anita00001

art-gallery's Issues

[3pt] - Add reservations counter - Student C

Even if the API gives you the number of reservations you will create a specific function to calculate it.

Make sure that the correct number is displayed on the Reservations pop up.

Respect the following rules:

  • Each counter should be implemented as a separate module.
  • A counter function should look for specific DOM elements (e.g. for the comments counter it should look for comments) and make the counting based on what is actually displayed on the page.
  • A counter function should cover all the edge cases you can think about.

[0.5pt] Find external API - group task

Find an API to base the development of the webapp around it. The API should allow you to

  • Get a list of items with a unique item id (or generate the unique id).
  • For a given item, get detailed information about it.
    choose an APIs that doesn't need authentication. if you select an API that requires authentication, you should implement it on your own. Also, if you select an API that provides image resources your webapp will be more visual.

[4pt] -Display Comments pop up with selected item's details - Student B

Create a comments popup only with the top section (displaying details of the selected item)

Screenshot 2021-06-27 at 22 10 45

When the popup loads, the webapp retrieves data from the selected API and shows details about the selected item.

Add event to button prepared by your teammate that will open your popup. You need to communicate with your team member to make sure that you do not block each other (most likely the easiest solution is to merge the list of items feature to the dev branch before you try to add that event).

[4pt] - Display Reservations pop up with selected item's details - Student C

Create a reservations popup only with the top section (displaying details of the selected item)

Screenshot 2021-06-27 at 22 10 45

When the popup loads, the webapp retrieves data from the selected API and shows details about the selected item.

Add event to button prepared by your teammate that will open your popup. You need to communicate with your team member to make sure that you do not block each other (most likely the easiest solution is to merge the list of items feature to the dev branch before you try to add that event).

Request Changes

Hi Team,

Great work on making the changes requested by a previous reviewer ๐Ÿ‘
You've done well implementing some of the requested changes, but there are still some which aren't been addressed yet.

Highlights

  • The number of cards on board is equal to 15 โœ…
  • Use good Practice using the template provided for this project โœ…

Required Changes โ™ป๏ธ

  • I notice that you did an excellent job of setting up your project, but there should be something to work on for your work to be completed, please assign members for group tasks, it will enable us to know if all group members contribute on the task assigned as group, please fix this. ๐Ÿ‘‡

Screenshot from 2023-03-20 16-10-35

Optional suggestions

Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.

Cheers and Happy coding!๐Ÿ‘๐Ÿ‘๐Ÿ‘

Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.


As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

[4pt] - Display list of items on the Homepage - Student A

Create the main part of the homepage that keeps the layout from the wireframe:

Screenshot 2021-06-27 at 21 50 23

When the page loads, the webapp retrieves data from the selected API and shows the list of items on screen with the basic data (e.g. title + image).

Prepare also "Comments" and "Reservations" buttons. They should be doing nothing - just being displayed.

This task does not include displaying the number of likes for each item.

This task does not include the counter of the items.

[3pt] - Add comments counter - Student B

Even if the API gives you the number of comments you will create a specific function to calculate it.

Make sure that the correct number is displayed on the Comments pop up.

Respect the following rules:

  • Each counter should be implemented as a separate module.
  • A counter function should look for specific DOM elements (e.g. for the comments counter it should look for comments) and make the counting based on what is actually displayed on the page.
  • A counter function should cover all the edge cases you can think about.

[3pt] - Add all items counter on the Homepage - Student A

Even if the API gives you the number of items, you will create a specific function to calculate it.

Make sure that the correct number is displayed on the Homepage.

Respect the following rules:

  • Each counter should be implemented as a separate module.
  • A counter function should look for specific DOM elements (e.g. for the comments counter it should look for comments) and make the counting based on what is actually displayed on the page.
  • A counter function should cover all the edge cases you can think about.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.