HoopIntel is a prototype application that allows users to search for NBA players by name and view detailed information about them using the balldontlie API (https://www.balldontlie.io/). This project demonstrates a unit-tested full-stack implementation using React for the frontend and Express for the backend, styled with Material UI.
- Search for NBA players by name.
- View up to 10 search results at a time with pagination.
- Display player details such as height, weight, draft year, and college.
- Mark/unmark players as favorites, with changes persisted using local storage.
- Express - Backend framework.
- balldontlie API - External API for NBA player data.
- Jest + Supertest - For backend unit testing.
- React - Frontend framework.
- Material UI - Styling.
- Vitest + React Testing Library - For frontend unit testing.
- Backend - Deployed on Render.
- Frontend - Deployed on Vercel.
- Node.js installed.
- An API key from the balldontlie API.
-
Clone the repository:
git clone https://github.com/noah-delacruz/HoopIntel/
-
Backend Setup:
- Navigate to the backend directory:
cd backend
- Install dependencies:
npm install
- Create a
.env
file and add your balldontlie API key:API_KEY=your_api_key_here
- Start the backend server:
npm run start
- Navigate to the backend directory:
-
Frontend Setup:
- Open a new terminal and navigate to the frontend directory:
cd frontend
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open a new terminal and navigate to the frontend directory:
- Run backend tests with:
npm run test
- Run frontend tests with:
npm run test
- Persist user choices using a backend database instead of local storage.
- Implement authentication for user accounts.
This project is licensed under the MIT License.
Feel free to reach out if you have any questions or suggestions for improvement!