UMS (User Management System) is a MERN-based starter template designed for full-stack projects requiring a robust user and role management system. It provides authentication, dynamic role-based permissions, and a structured way to manage users. The project utilizes ShadCN and Tailwind CSS for the UI, with TypeScript on both frontend and backend.
UMS/
āāā server/
ā āāā src/
ā ā āāā config/
ā ā āāā controllers/
ā ā āāā models/
ā ā āāā routes/
ā ā āāā utils/
ā ā āāā index.ts
ā ā āāā seed.ts
ā āāā package-lock.json
ā āāā package.json
ā āāā pnpm-lock.yaml
ā āāā tsconfig.json
ā
āāā client/
ā āāā src/
ā ā āāā components/
ā ā āāā context/
ā ā āāā hooks/
ā ā āāā lib/
ā ā āāā pages/
ā ā āāā scss/
ā ā āāā store/
ā ā āāā utils/
ā ā āāā App.tsx
ā ā āāā index.css
ā ā āāā main.tsx
ā ā āāā vite-env.d.ts
ā āāā components.json
ā āāā eslint.config.js
ā āāā index.html
ā āāā package-lock.json
ā āāā package.json
ā āāā pnpm-lock.yaml
ā āāā postcss.config.js
ā āāā tailwind.config.ts
ā āāā tsconfig.app.json
ā āāā tsconfig.json
ā āāā tsconfig.node.json
ā āāā vercel.json
ā āāā vite.config.ts
āāā LICENSE
āāā README.md
git clone https://github.com/s-adi-dev/ums.git
cd ums
cd server
npm install
cp .env.example .env # Configure your environment variables
npm run seed # For creating a super admin
npm run dev
cd ../client
npm install
cp .env.example .env
npm run dev
Create a .env
file in the server
directory with the following:
PORT=3000
JWT_SECRET="your_secret"
NODE_ENV="development" # remove this for production
MONGO=your_mongodb_uri
SUPER_ADMIN_USERNAME="your_username"
FRONTEND_URL="http://localhost:5173" #url where frontend will run
Create a .env
file in the client
directory with the following:
VITE_BACK_END_PORT="http://localhost:3000" #url where backend will run
Feel free to contribute by submitting issues or pull requests.
This project is licensed under the MIT License. See the LICENSE file for details.
For any queries, reach out via github.