A React-based web application that presents linguistics concepts and mini-projects in the form of "recipes" for a college-level English linguistics course.
- Recipe-based learning experience
- Dynamic content loading from Google Sheets (one sheet tab per recipe)
- Responsive and accessible design
- Modern UI with Tailwind CSS
- Node.js (v18 or higher)
- npm (v7 or higher)
- Google Sheets API credentials
-
Clone the repository
-
Install dependencies:
npm install
-
Create a
.envfile in the root directory with the following variables:VITE_GOOGLE_SPREADSHEET_ID=your_spreadsheet_id VITE_GOOGLE_API_KEY=your_api_key -
Set up your Google Sheets:
- Create a new Google Spreadsheet
- For each recipe, create a new sheet/tab. The tab name will be used as the recipe's unique id.
- Each tab should have the following columns in the first row:
title | description | benefits | ingredients | procedures | steps | duration | category - The second row should contain the data for that recipe.
- Share the spreadsheet publicly for reading.
-
Start the development server:
npm run dev
src/
├── components/ # Reusable UI components
├── pages/ # Page components
├── services/ # API and data services
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request