The interview process will have one assignment and then one round of interview if your asassignment: create a strategic marketing approach for our groundbreaking Gen AI Analytics tool – a solution that democratizes data insights across business units. Product Context Our tool empowers non-technical teams to: -Ask complex business questions directly - Get instant, accurate insights from databases - Eliminate dependency on data teams - Make faster, data-driven decisions Frontend Engineering Intern Challenge Project: Data Query Dashboard Prototype Objective -Develop a React-based dashboard prototype for our Gen AI Analytics tool that demonstrates query interaction and result visualization.You can refer to Behance/Dribble for any design inspiration, we dont need you to design the frontend. Technical Requirements Create a single-page application (SPA) with: -Natural language query input -Query processing simulation -Result display area with a chart - Basic state management Specific Tasks Develop UI Components: -Query input field with AI-powered suggestions -Query history section -Results display with mock data visualization -Loading and error states Implement State Management: -Use Redux for global state management -Handle query submission, processing, and result states -Create actions and reducers for query interactions Design Considerations: -Clean, modern UI -Responsive design -Intuitive user experience Technical Stack -Frontend: React.js -State Management: Redux -Styling: Tailwind CSS or Material-UI -Optional: Recharts or Chart.js for data visualization Submission Requirements -Host project on GitHub -Deploy the frontend (suggested platforms: Netlify, Vercel) -Provide a comprehensive README with: Evaluation Focus -React component structure -State management efficiency -UI/UX design (you can refer to Behance/Dribble for any design inspiration, we dont need you to design the frontend) -Code quality -Creativity in simulating AI query interaction Submission Guidelines -Complete the assignment -Host your project on a free hosting platform - Provide a detailed GitHub repository link -Include deployment link in your submission -Accompany with a brief explanation of your approach What We're Looking For -Creativity in solving the challenge -Clean, maintainable code -Understanding of core engineering principles -Ability to simulate complex interactions with limited information so this is my project i need to complete for my personal use. everything is mentioned here what to do , so now give me the proper structured proeect and with the step by step guide to setup this in my vscode and upload it in the github repo , make this project including evertyhign what is mentioned above .
I'll create a complete React-based dashboard prototype for your Gen AI Analytics tool. This will include all the required components, state management with Redux, and data visualization.
Install Node.js and npm:
Install VS Code:
Create a new Next.js project with TypeScript:
npx create-next-app@latest gen-ai-analytics-dashboard --typescript --tailwind --eslint
cd gen-ai-analytics-dashboardInstall additional dependencies:
npm install @reduxjs/toolkit react-redux recharts date-fns
npm install @radix-ui/react-dropdown-menu @radix-ui/react-scroll-area @radix-ui/react-slot
npm install class-variance-authority clsx tailwind-merge tailwindcss-animate
npm install lucide-react next-themesnpm run devVisit http://localhost:3000 to see your application running.
Create a GitHub repository:
git init
git add .
git commit -m "Initial commit"Create a new repository on GitHub:
Deploy to Vercel:
Update the README:
Natural Language Query Interface:
Query Processing Simulation:
Data Visualization:
State Management with Redux:
Modern UI/UX:
This project demonstrates your ability to create a complex React application with state management, data visualization, and modern UI/UX principles. The code is well-structured, maintainable, and follows best practices for React and Redux development.
This guide will walk you through setting up the Gen AI Analytics Dashboard project in VS Code, running it locally, and adding it to your GitHub repository.
Install Node.js and npm:
Verify installation by opening a terminal and running:
node --version
npm --versionInstall Git:
Verify installation:
git --versionInstall Visual Studio Code:
Install Recommended VS Code Extensions:
Install the following extensions:
Open a terminal and navigate to the directory where you want to create your project:
cd path/to/your/projects/folderCreate a new Next.js project with TypeScript and Tailwind CSS:
npx create-next-app@latest gen-ai-analytics-dashboard --typescript --tailwind --eslintWhen prompted, select:
src/ directory? › NoNavigate to the project directory:
cd gen-ai-analytics-dashboardOpen the project in VS Code:
code .Install additional dependencies by running the following command in the VS Code terminal:
npm install @reduxjs/toolkit react-redux recharts date-fns
npm install @radix-ui/react-dropdown-menu @radix-ui/react-scroll-area @radix-ui/react-slot
npm install class-variance-authority clsx tailwind-merge tailwindcss-animate
npm install lucide-react next-themesNow you'll need to create all the necessary files for the project. Let's organize this by folders:
Create the Redux directory structure:
mkdir -p lib/redux/slices lib/apiCreate the Redux store file:
lib/redux/store.tsCreate the Redux hooks file:
lib/redux/hooks.tsCreate the query slice file:
lib/redux/slices/querySlice.tsCreate the types file:
lib/types.tsCreate the mock API file:
lib/api/queryProcessor.tsCreate the components directory (if it doesn't exist):
mkdir -p componentsCreate the component files:
components/dashboard.tsxcomponents/dashboard-header.tsxcomponents/mode-toggle.tsxcomponents/query-input.tsxcomponents/query-history.tsxcomponents/results-display.tsxUpdate the app layout file:
app/layout.tsxCreate the providers file:
app/providers.tsxUpdate the main page file:
app/page.tsxUpdate the global CSS file:
app/globals.cssUpdate the Tailwind config file:
tailwind.config.tsUpdate the README.md file:
README.mdStart the development server:
npm run devTest the application:
Fill in the repository details:
gen-ai-analytics-dashboardA React-based dashboard prototype for a Gen AI Analytics toolInitialize a Git repository in your project folder (if not already initialized):
git initAdd all files to the staging area:
git add .Commit the changes:
git commit -m "Initial commit: Gen AI Analytics Dashboard"Add the remote repository:
git remote add origin https://github.com/YOUR_USERNAME/gen-ai-analytics-dashboard.git(Replace YOUR_USERNAME with your GitHub username)
Push the code to GitHub:
git push -u origin main(If you're using an older version of Git, you might need to use master instead of main)
Import your GitHub repository:
gen-ai-analytics-dashboardConfigure the project:
gen-ai-analytics-dashboard (or customize)./ (default)Update the README:
https://gen-ai-analytics-dashboard.vercel.app)Commit and push the updated README to GitHub:
git add README.md
git commit -m "Update README with deployment link"
git pushIf you encounter errors about missing dependencies, try:
npm installIf you encounter build errors:
Try running:
npm run lintIf you encounter errors when pushing to GitHub:
If your default branch is main but GitHub expects master (or vice versa), try:
git branch -M main
git push -u origin mainAfter successfully setting up your project, consider:
Here's a reminder of the project structure for reference:
├── app/ # Next.js app directory
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Main page
│ └── providers.tsx # Redux and theme providers
├── components/ # React components
│ ├── dashboard.tsx # Main dashboard component
│ ├── dashboard-header.tsx # Header component
│ ├── mode-toggle.tsx # Theme toggle component
│ ├── query-history.tsx # Query history component
│ ├── query-input.tsx # Query input component
│ └── results-display.tsx # Results visualization component
├── lib/ # Utility functions and Redux store
│ ├── api/ # API simulation
│ │ └── queryProcessor.ts # Mock query processing
│ ├── redux/ # Redux store
│ │ ├── hooks.ts # Redux hooks
│ │ ├── store.ts # Redux store configuration
│ │ └── slices/ # Redux slices
│ │ └── querySlice.ts # Query slice
│ └── types.ts # TypeScript types
├── public/ # Static assets
├── README.md # Project documentation
├── tailwind.config.ts # Tailwind CSS configuration
└── package.json # Project dependenciesThis guide should provide you with everything you need to set up, run, and deploy your Gen AI Analytics Dashboard project. If you encounter any specific issues not covered here, feel free to ask for additional help!