Brainly is a second-brain web app for saving things you want to come back to later. It lets you store links, videos, and posts in one place, then browse and manage them from a simple dashboard.
Brainly-video-git.mp4
- Sign up and sign in with a username and password
- Save content items with a title, link, and source type
- Organize items as YouTube or X / Twitter content
- Preview saved content inside the dashboard
- Delete items when you no longer need them
- Keep the dashboard protected with a token-based login flow
- React 19
- TypeScript
- Vite
- React Router
- Axios
- Tailwind CSS
src/pages/MainPage.tsx- landing pagesrc/pages/Signin.tsx- sign in screensrc/pages/Signup.tsx- sign up screensrc/pages/dashboard.tsx- main saved-items dashboardsrc/components/CreateContentModal.tsx- form for adding new itemssrc/hooks/useContent.tsx- fetches and deletes saved contentsrc/config.ts- backend URL configuration
- Node.js 18+ recommended
- A running backend API for Brainly
npm installBy default, the app points to:
http://localhost:3000You can override it by setting:
VITE_BACKEND_URL=http://your-backend-urlnpm run devnpm run buildnpm run previewThis frontend expects the backend to expose these routes:
POST /api/v1/signupPOST /api/v1/signinGET /api/v1/contentPOST /api/v1/contentDELETE /api/v1/content
The app sends the saved JWT in the Authorization header for protected content requests.
- The dashboard refreshes content automatically every 10 seconds.
- YouTube links are embedded using the video player.
- X / Twitter links are rendered as tweet embeds.
No license has been defined yet.