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.
