Mnemo is a full-stack web application built with a TypeScript + Node.js backend and a React (Vite) frontend.
It helps users manage and share content securely with authentication and role-based access.
π₯ Demo Video Preview
- π Authentication & protected routes
- π¦ Content management (add, view, share)
- π Public & private routes with access control
- π¨ Modern UI powered by shadcn/ui & TailwindCSS
- π Dark mode support for better accessibility
- β‘ Built with TypeScript for type safety
Mnemo
ββ backend # Node.js + Express + MongoDB (TypeScript)
β ββ src # Source code
β ββ dist # Compiled JS
β ββ .env # Environment variables (create from .env.example)
β ββ tsconfig.json
β
ββ frontend # React + Vite + Tailwind + shadcn/ui
β ββ src # Components, pages, store, utils
β ββ public # Static assets
β ββ vite.config.ts
β
ββ README.md
git clone https://github.com/your-username/mnemo.git
cd mnemocd backend
npm install
cp .env.example .env # configure environment variables
npm startBackend runs at: http://localhost:3000
cd frontend
npm install
npm run devFrontend runs at: http://localhost:5173
The backend requires a .env file. Use the provided .env.example as a reference.
# Server
PORT=3000
# Database
MONGO_URI=mongodb://localhost:27017/mnemo
# Authentication
JWT_SECRET=your_jwt_secret_here
JWT_EXPIRES_IN=1d
β οΈ Never commit your real.envfile to GitHub. Only share.env.example.
Backend:
- Node.js, Express, TypeScript
- MongoDB (Mongoose)
- JWT Authentication
Frontend:
- React (Vite + TypeScript)
- TailwindCSS + shadcn/ui
- Zustand for state management
- React Router v6
This project is licensed under the MIT License.
