This repository is a starter template for practicing (extended on the user-authentication and api-endpoints branches):
- Git branching strategies (GitHub Flow / Git Flow-lite)
- Pull Requests + review workflow
- Intentional merge conflicts + manual resolution
- Clean history using Squash and merge
Important — before first run.
src/app.jsships with intentional Git conflict markers (the Step-8 conflict-resolution exercise). Runningnpm run devimmediately will fail with aSyntaxError: Unexpected token "<<". Opensrc/app.js, remove the<<<<<<< / ======= / >>>>>>>markers and pick the resolution you want to keep, thengit add src/app.js && git commit -m "chore: remove sample conflict markers". See Walkthrough Step 2 for full guidance.
# 1. Remove the sample conflict markers in src/app.js first (see note above)
npm install
npm run devOpen: http://localhost:3000
src/app.js— Express server entrysrc/routes/— route modulessrc/controllers/— controller functionssrc/services/— reusable services (auth helpers, etc.)src/db/— database module (starts as a stub)public/— static UI (includes/login)docs/— reports + screenshots checklist
Create these branches exactly:
feature/user-authenticationfeature/database-connectionfeature/api-endpoints
To intentionally create a merge conflict, edit the same lines in one of:
README.mdsrc/app.jssrc/routes/api.js
npm test
npm run lint