Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
CampCue is a full-stack campground review platform. Search and filter
real U.S. campgrounds pulled live from the National Park Service's
Recreation.gov API, browse each one's real photos and location on Google
Maps, and leave a rating and review. No fake data, no stock photos - the
listings are backed by the same public dataset recreation.gov itself
runs on (currently 65 real campgrounds across CA/WA/NY, each with a real
photo).README 전문 보기 ↗Note: This repository is a rebuilt version of the "Campground Review System" project listed on my resume, re-implemented with current tools and libraries.
CampCue is a full-stack campground review platform. Search and filter real U.S. campgrounds pulled live from the National Park Service's Recreation.gov API, browse each one's real photos and location on Google Maps, and leave a rating and review. No fake data, no stock photos - the listings are backed by the same public dataset recreation.gov itself runs on (currently 65 real campgrounds across CA/WA/NY, each with a real photo).
Live app: https://campcue.web.app
Stack: React (Vite) · Django REST Framework · MongoDB (geospatial
queries via a 2dsphere index) · pandas ETL pipeline · Google Maps
JavaScript API · deployed on Cloud Run + Firebase Hosting + MongoDB Atlas,
entirely on free tiers.
Rebuilt from this resume entry:
Campground Review System Independent Full-Stack Developer
data_pipeline/fetch_ridb_data.py --> real_campgrounds.json --> MongoDB Atlas ("campgrounds" collection)
|
v
backend/ (Django + DRF, pymongo) --- REST API --- frontend/ (React + Vite)
Cloud Run | Firebase Hosting
2dsphere index |
(geospatial "nearby" search) Google Maps JS API
(map view, pins, photos)
data_pipeline/ - two independent pieces:
fetch_ridb_data.py pulls real campground listings (names,
coordinates, activities, photos) from Recreation.gov's public RIDB
API. This is the app's actual data source - currently 65 campgrounds
across CA/WA/NY, each with a real photo.generate_sample_data.py / legacy_manual_merge.py /
clean_and_load.py / benchmark.py are a synthetic demo,
unrelated to the live app's data, that models the messy
multi-facility-spreadsheet problem the pipeline bullet describes and
measures the pandas pipeline's speedup over a naive one (~65% faster,
consistent with the resume's 67% claim). See
data_pipeline/README.md for both.backend/ - Django + Django REST Framework. Reads/writes MongoDB
directly via pymongo (no ORM) so the data layer matches what the
pipeline produces. Endpoints: search/filter, facets (distinct
states/amenities for the UI's filter dropdowns), campground detail,
geospatial nearby search, and review list/create with automatic rating
recomputation.frontend/ - React (Vite). Search/filter UI with pagination
("Load more"), campground cards with photo thumbnails and star ratings
("No reviews yet" instead of a misleading 0★ when unreviewed), a detail
page with a photo gallery, review form, and Google Maps view.deploy/ - the actual commands used for the live deployment
(Cloud Run + MongoDB Atlas + Firebase Hosting) - see
deploy/README.md.| Piece | Where | URL |
|---|---|---|
| Frontend | Firebase Hosting | https://campcue.web.app |
| Backend API | Cloud Run | https://campground-backend-793519184426.us-central1.run.app/api |
All on free tiers - should run at $0/month for light hobby traffic. See
deploy/README.md for the exact commands and the
gotchas hit along the way (Cloud Run's DNS can't resolve mongodb+srv://
SRV records; Docker build-arg injection needs an explicit cloudbuild.yaml
rather than --set-build-env-vars).
run.ps1Starts MongoDB, the Django backend, and the frontend each in their own
window (assumes one-time setup is already done - see "Running services
individually" below for the first-time pip install/npm install):
powershell -ExecutionPolicy Bypass -File run.ps1
docker compose up --build
Then seed the database once with real campground data (see
data_pipeline/README.md for one-time
credential setup):
cd data_pipeline
pip install -r requirements.txt
python fetch_ridb_data.py --load-mongo
MongoDB - any local instance or mongod --dbpath <dir>.
Backend
cd backend
pip install -r requirements.txt
cp .env.example .env # edit MONGO_URI etc. if not using localhost defaults
python manage.py migrate --run-syncdb
python manage.py runserver 8000
Data pipeline (populate MongoDB with real campground data - see
data_pipeline/README.md for credential setup)
cd data_pipeline
pip install -r requirements.txt
cp .env.example .env
python fetch_ridb_data.py --load-mongo
Frontend (see .env.example for optional configuration)
cd frontend
cp .env.example .env
npm install
npm run dev
Map panels show a placeholder rather than failing if not fully configured - search, filtering, ratings, and reviews all work regardless.
cd backend
pip install -r requirements-dev.txt
python manage.py test campgrounds
The suite runs against mongomock
so it needs no live database. It doesn't cover /campgrounds/nearby/,
since mongomock doesn't implement MongoDB's $geoNear aggregation stage -
that endpoint is exercised manually against a real MongoDB instance
instead (see data_pipeline/README.md for how the sample data is loaded).
| Endpoint | Description |
|---|---|
GET /api/campgrounds/ | Search/filter/paginate (q, state, min_rating, amenity, sort, limit, offset) |
GET /api/campgrounds/facets/ | Distinct states and amenities present in the data, for the frontend's filter dropdowns |
GET /api/campgrounds/<id>/ | Campground detail |
GET /api/campgrounds/nearby/ | Geospatial search (lat, lng, radius_km) |
GET /api/campgrounds/<id>/reviews/ | List reviews for a campground |
POST /api/campgrounds/<id>/reviews/ | Add a review (author, rating 1-5, comment); recomputes the campground's average rating |