Interactive learning platform for Data Engineering topics including SQL and Python. 🚀
This is a React-based learning platform for Data Engineering concepts, including SQL and Python exercises, with an interactive interface.
- Dashboard with overview of topics
- SQL basics and advanced exercises
- Python basics and advanced exercises
- Interactive code editors
- Dark mode support
- Responsive design for all devices
- Node.js 18+ and npm
- Clone the repository
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:5173 in your browser
Create a .env
file in the root directory with:
CLAUDE_API_KEY=your_api_key_here
This key is read only on the server. Client code calls the /api/claudeProxy
endpoint which forwards requests to Anthropics' API.
Deploy to Vercel or Netlify and add a secret named CLAUDE_API_KEY
in your project settings. The api/claudeProxy.ts
file will be automatically picked up as a serverless function.
The site is configured to deploy automatically to GitHub Pages when changes are pushed to the main branch.
When you push to the main branch, the GitHub Actions workflow will:
- Build the project
- Configure Single-Page Application routing for GitHub Pages
- Deploy to GitHub Pages
You can manually deploy using:
npm run deploy
This will:
- Build the project
- Set up files for GitHub Pages deployment
- Provide instructions for pushing to the gh-pages branch
- Main Site: https://arielsoothy.github.io/Data-Engineering/
- The site should also be accessible via https://arielsoothy.github.io/
If you're experiencing 404 errors after refreshing the page on GitHub Pages:
- Make sure you're using the HashRouter in production (automatic in the current setup)
- Check that the 404.html file is properly set up
- Ensure the base path in
vite.config.ts
is correctly set to/Data-Engineering/
for production builds
If the local development server isn't working:
- Make sure the
base
path invite.config.ts
is set correctly based on the environment - Check that you're using the BrowserRouter for local development
- Restart the development server with
npm run dev
}, })