# 1. Copy environment file
cp backend/.env.example backend/.env
# 2. Edit .env with your API keys
# At minimum, add these:
# - GROQ_API_KEY
# - PINECONE_API_KEY
# - GITHUB_TOKEN
# 3. Start everything
docker-compose -f docker/docker-compose.yml up -d
# 4. Wait 10 seconds for services to start
# 5. Open in browser
# Frontend: http://localhost:5173
# API Docs: http://localhost:8000/docscd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # or: venv\Scripts\activate on Windows
# Install packages
pip install -r requirements.txt
# Copy and configure .env
cp .env.example .env
# Edit .env with your API keys
# Start server
uvicorn app.main:app --reloadcd frontend
# Install packages
npm install
# Start dev server
npm run dev# Start MongoDB
mongod
# In another terminal, start Redis
redis-server- Go to https://console.groq.com
- Sign up (free)
- Create API key
- Copy to
.env
- Go to https://pinecone.io
- Create free account
- Create index named
hackquest-index - Copy API key to
.env
- Go to https://github.com/settings/tokens
- Create "Personal access token"
- Select scopes:
repo,user,read:user - Copy to
.env
- Go to https://huggingface.co/settings/tokens
- Create access token
- Copy to
.env
curl -X POST http://localhost:8000/api/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "test@example.com",
"password": "TestPassword123",
"username": "testuser",
"full_name": "Test User"
}'curl -X POST http://localhost:8000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "test@example.com",
"password": "TestPassword123"
}'curl http://localhost:8000/api/matches/hackathons| Service | URL | Purpose |
|---|---|---|
| Frontend | http://localhost:5173 | Main application |
| Backend API | http://localhost:8000 | REST API |
| API Docs | http://localhost:8000/docs | Swagger documentation |
| Health Check | http://localhost:8000/api/health | System status |
- Explore Dashboard - See match overview
- Browse Matches - Filter hackathons
- Generate Code - Create boilerplate
- Create Profile - Sync GitHub data
- View API Docs - Swagger at
/docs
# .env
PORT=9000 # Change from default 8000# .env
MONGODB_URL=mongodb+srv://username:password@cluster.mongodb.net/?retryWrites=true&w=majority
REDIS_URL=redis://username:password@hostname:port# .env
LOG_LEVEL=debug # or: info, warning, error- Check MongoDB is running:
mongo --version - Check Redis is running:
redis-cli ping - Check backend port 8000 is free
- Verify no extra spaces in .env
- Check key is copied completely
- Try generating new key on platform
- Verify
CORS_ORIGINSincludeshttp://localhost:5173 - Restart backend after .env change
- Check backend is running on port 8000
- Verify
config.api.baseUrlin frontend - Check browser console for error details
- Full Setup: See SETUP.md
- API Docs: http://localhost:8000/docs (Swagger)
- Architecture: See README.md
- Dev Mode: Run with
--reloadfor auto-restart - Debug: Use
LOG_LEVEL=debugin .env - Database GUI: Use MongoDB Compass for visual DB management
- API Testing: Use Postman or Thunder Client for API testing
Visit http://localhost:5173 and start exploring!
If you hit issues, check the Troubleshooting section in SETUP.md.
Need help? Check the issue tracker or community Discord!