WallpaperMachine
당신이 사랑하는 배경화면, 맥에서 새롭게 만나보세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗System rezerwacji miejsc w pociągach z płatnością Stripe (tryb testowy). Next.js 15 (App Router) + TypeScript + Tailwind + MongoDB Atlas + Stripe, wdrożenie na Vercel.
Źródło prawdy: CONTRACT.md. Prompty dla agentów: PROMPTY.md. Wdrożenie: DEPLOY.md. Demo: DEMO.md.
npm install
cp .env.example .env.local # uzupełnij MONGODB_URI i swoją MONGODB_DB
npm run seed # kursy do kolekcji events (bezpiecznie puszczać wiele razy)
npm run dev # http://localhost:3000
Aplikacja wymaga bazy: bez MONGODB_URI w .env.local rozkład jazdy, mapa i całe API rezerwacji zwracają błąd.
Indeksy kolekcji reservations zakłada samo pierwsze połączenie (i npm run seed), więc w Atlasie nie trzeba nic robić ręcznie.
npm test też potrzebuje MONGODB_URI w .env.local, ale zawsze sam przełącza się na bazę pociag_test i ją czyści, więc nie rusza Twoich danych.
| Skrypt | Co robi |
|---|---|
npm run dev | serwer deweloperski |
npm run build | build produkcyjny |
npm run lint | ESLint |
npm run seed | wgrywa kursy do kolekcji events (Kamil) |
npm test | testy vitest (Eryk), na bazie pociag_test |
npm run attack -- <URL> [--slow --ttl 120] | atak na API wg CONTRACT.md §7 (Mateusz) |
npm run reset -- --yes | czyści rezerwacje i wgrywa kursy od nowa (--prod dla bazy pociag) |
Płatności działają wyłącznie w trybie testowym. Klucz sk_test_… dostajesz od lidera, wpisujesz tylko do .env.local.
brew install stripe/stripe-cli/stripe
stripe login
stripe listen --forward-to localhost:3000/api/webhooks/stripe
stripe listen wypisze whsec_… — to jest STRIPE_WEBHOOK_SECRET do .env.local. Zostaw to okno otwarte, gdy testujesz płatności.
| Karta testowa | Wynik |
|---|---|
4242 4242 4242 4242 | płatność udana |
4000 0000 0000 0002 | odmowa |
4000 0025 0000 3155 | 3D Secure (dodatkowe potwierdzenie) |
Data ważności: dowolna przyszła, CVC: dowolne trzy cyfry. Bilet pojawia się dopiero po webhooku checkout.session.completed.
| Osoba | Karta | PR |
|---|---|---|
| Mateusz (lider) | szkielet, frontend kart B + C, nazwa i logo, atak i wdrożenie | #1, #4, #5, #6 |
| Kamil | A: rozkład jazdy i mapa wagonu (backend + frontend) | #2 |
| Eryk | B + C backend: rezerwacja, zakup, wygasanie, testy | #3 |
Pliki i ich właściciele: CONTRACT.md §6. Edytujesz tylko swoje — zmiana w cudzym pliku idzie przez lidera.
master, review robi lider.feat:, fix:, test:, chore:, docs:.npm run build, npm run lint, npm test.