Photolabs is an app that fetches pictures and enables user to filter through the database's pictures rendered, and also to like them and to create a personalized list.
We created a client-side application using React view-layer library.
This app fetches pictures from an API (defined in the backend
), and renders the pictures on our client side application. We can like
PhotoLabs is a React-based single-page application (SPA) that allows users to view photos in different contexts. This project combines the power of React with an Express.js backend and a PostgreSQL database to provide a seamless user experience for interacting with photos.
Before you begin, make sure you have the following software installed on your machine:
-
Clone this repository:
git clone https://github.com/your-username/photolabs.git
-
Install dependencies for both the frontend and backend:
cd photolabs/frontend npm install cd ../backend npm install
To start the client-side Webpack development server:
cd frontend
npm start
Refer to the backend/readme file for detailed setup instructions for the API server. After setting up the backend, you can start it with:
cd backend
npm start
- View photos from the homepage fetched from the API.
- Navigate to different photo categories (topics).
- Revert back to all pictures by clicking on the logo in the navigation bar.
- Click on a photo to view a larger version and related photos.
- Like a photo from anywhere within the application.
- View a heart icon with a notification in the navigation for liked photos.
- Clicking this icon will show all the user's favorite selection.
- Client-side application makes API requests to load and persist data.
Install dependencies with npm install
in each respective /frontend
and /backend
.
- React: A JavaScript library for building user interfaces.
- Express.js: A web application framework for Node.js used for building the API server.
- PostgreSQL: A powerful, open-source relational database system.
- Babel: A JavaScript compiler used for transpiling modern JavaScript and JSX.
- Webpack: A module bundler used for development server and bundling assets.
Thanks to Lighthouse Labs for the inspiration and education.