Add README and update package metadata; add prettier script
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
65
README.md
Normal file
65
README.md
Normal file
@@ -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
|
||||
|
||||

|
||||
|
||||
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
|
||||
12
package.json
12
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 <carlos.gutierrez@carg.dev>",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user