diff --git a/README.md b/README.md new file mode 100644 index 0000000..c8548b9 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# Endorsement — Researcher Endorsement & Collaboration Platform + +A frontend-only React application (Vite + TypeScript + Zustand) that simulates a lightweight academic social feed for junior researchers to showcase work and obtain endorsements. This repository contains a mock, client-side-only implementation with in-memory state managed by Zustand. + +Live preview (intended host): https://endorsment.cargdev.io + +Author +- Name: cargdev +- Contact: carlos.gutierrez@carg.dev +- Website: https://cargdev.io +- GitHub: https://github.com/CarGDev/endorsment + +Screenshot + +![Endorsement Home](/assets/Endorsement_HomePage.png) + +Quick start + +1. npm install +2. npm run dev +3. Open http://localhost:5173 + +Features +- Create user profiles with specialties +- Create posts with in-memory Markdown attachments +- Endorse users by specialty and endorse posts +- Share endorsement links (copies a generated arXiv-style URL) +- Notifications for in-app actions (top-right) +- Simple responsive layout with feed and suggestions + +Project structure + +src/ +- main.tsx +- App.tsx +- routes/ + - Home.tsx + - Profile.tsx + - CreateUser.tsx + - PostDetail.tsx +- components/ + - Navbar.tsx + - Feed.tsx + - PostCard.tsx + - UserCard.tsx + - EndorseButton.tsx + - MarkdownPreview.tsx + - CreatePostModal.tsx + - NotificationCenter.tsx +- store/ + - useAppStore.ts +- types/ + - User.ts + - Post.ts +- mock/ + - seedData.ts +- utils/ + - fileHelpers.ts + +Notes +- This project is intentionally frontend-only. No backend or server is required. +- Markdown rendering is minimal and for demo purposes only — do not render untrusted input in production without sanitization. + +License +MIT diff --git a/package.json b/package.json index ca9278c..5ad1c99 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,18 @@ { - "name": "endorsement-frontend", + "name": "endorsment", "version": "0.1.0", "private": true, "type": "module", + "description": "Researcher Endorsement & Collaboration Platform — frontend-only mock app", + "homepage": "https://endorsment.cargdev.io", + "repository": "https://github.com/CarGDev/endorsment", + "author": "cargdev ", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "type-check": "tsc --noEmit" + "type-check": "tsc --noEmit", + "prettier": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"" }, "dependencies": { "react": "^19.0.0", @@ -20,6 +25,7 @@ "vite": "^5.0.0", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", - "@vitejs/plugin-react": "^5.0.0" + "@vitejs/plugin-react": "^5.0.0", + "prettier": "^3.0.0" } }