Restructure project + neo-brutalist UI redesign + professional constitution#1
Open
devin-ai-integration[bot] wants to merge 3 commits into
Open
Restructure project + neo-brutalist UI redesign + professional constitution#1devin-ai-integration[bot] wants to merge 3 commits into
devin-ai-integration[bot] wants to merge 3 commits into
Conversation
…eadme Co-Authored-By: ULTIMATE AGENT <vivek17aug1997@gmail.com>
…errors, and validated env
- Organize code into src/{config,db,middlewares,modules,utils} layout
- Split each feature (auth, issues, solutions) into controller + service + repository + routes
- Introduce ApiError class and centralized errorHandler + notFound middleware
- Add asyncHandler, authenticate, authorize, and requestLogger middlewares
- Validate env at boot via config/env.js (fails fast on missing vars)
- Move schema bootstrap into db/migrate.js; run at startup
- Extract jwt/password/logger into utils
Co-Authored-By: ULTIMATE AGENT <vivek17aug1997@gmail.com>
… system
- Reorganize src into api/, components/{layout,ui,issues,solutions}/, context/, hooks/, pages/, routes/, lib/, styles/
- Add fetch-based api/client.js with ApiClientError and per-feature API files
- Split AuthContext into data (authContext.js) and provider (AuthContext.jsx); add useAuth hook
- Introduce AppRoutes, ProtectedRoute, GuestRoute
- Build reusable UI primitives: Button, Input, Textarea, Panel, StatTile, StatusTag, Spinner, EmptyState
- Rebuild pages (Home, Login, Register, Issues, Issue, NotFound) with neo-brutalist layout
- Enforce sharp borders globally (border-radius: 0), add brutal shadow utilities
- Wire Outfit + JetBrains Mono typography and editorial color palette
Co-Authored-By: ULTIMATE AGENT <vivek17aug1997@gmail.com>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Author
Test results — all passedEnd-to-end walkthrough against a locally-booted stack (Postgres 14 +
Observations (not regressions — same as before the restructure)
Annotated screencast is attached in the Devin session. Happy to run a regression sweep (filter chips, delete-issue, validation errors) if you want a second pass. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ground-up restructure of IssueTrack-v1 with a professional project constitution, a modular backend, a modular frontend, and an editorial / neo-brutalist UI with no rounded corners anywhere.
Docs
CONSTITUTION.md— mission, non-negotiables, module boundaries, design system, amendment processARCHITECTURE.md— topology, folder layout, layered flow, error model, auth flow, schemaCONTRIBUTING.md— setup, branching, commits, PR checklist, design-system quick-referenceREADME.md— rewritten; includes API reference, screens, scripts.env.example— complete required/optional vars.gitignore— expandedBackend (
backend/src/…)config/,db/,middlewares/,modules/{auth,issues,solutions}/,utils/controller → service → repository → routesApiErrorclass + centralizederrorHandlermiddleware (consistent{ error, code, details }shape)asyncHandler,authenticate,authorize,requestLogger,notFoundmiddlewaresconfig/env.jsvalidates env vars at boot (fails fast)db/migrate.jscreates tables idempotently at startupmaininpackage.jsonpoints tobackend/src/server.jsFrontend (
frontend/src/…)api/,components/{layout,ui,issues,solutions}/,context/,hooks/,pages/,routes/,lib/,styles/api/client.js— fetch wrapper +ApiClientError; per-feature API files (auth,issues,solutions)AuthContextsplit into data (authContext.js) + provider (AuthContext.jsx) so Fast Refresh is happy;useAuthhookAppRoutes,ProtectedRoute,GuestRouteButton,Input,Textarea,Panel,StatTile,StatusTag,Spinner,EmptyStateHome,Login,Register,Issues,Issue,NotFoundDesign system
border-radius: 0— sharp edges everywhereborder-2 border-blacksurfaces +shadow-brutaloffsets (6px 6px 0 0 #0a0a0a)Checks
frontend: npm run lint→ passesfrontend: npm run build→ passes (269 kB JS, 22 kB CSS)Review & Testing Checklist for Human
Risk: yellow — large refactor, touches auth, DB bootstrap, and every page.
.env.example→.env, fill DB creds +JWT_SECRET, runnpm run serverand confirm the schema bootstrap logsdatabase schema ensuredand the server listens on:3000.cd frontend && npm run dev, openhttp://localhost:5000, walk through: register → login → raise issue → open issue detail → logout.UPDATE users SET role = 'admin' WHERE admission_number = '…') and verify the solution form renders and POSTs successfully.Notes
Link to Devin session: https://app.devin.ai/sessions/608d69870ca940098736d65af9292f41
Requested by: @agentVivek