https://github.com/gitdaksh/archive
A secure, scalable University Library Management System built with industry best practices—featuring role-based access, media uploads, caching, DDoS protection, advanced queries, and automated workflows.
https://github.com/gitdaksh/archive
neondb next-auth nextjs postgresql shadcn tailwindcss typescript
Last synced: 3 months ago
JSON representation
A secure, scalable University Library Management System built with industry best practices—featuring role-based access, media uploads, caching, DDoS protection, advanced queries, and automated workflows.
- Host: GitHub
- URL: https://github.com/gitdaksh/archive
- Owner: GitDaksh
- Created: 2025-04-06T07:22:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-06T07:33:25.000Z (about 1 year ago)
- Last Synced: 2025-04-06T08:27:22.707Z (about 1 year ago)
- Topics: neondb, next-auth, nextjs, postgresql, shadcn, tailwindcss, typescript
- Language: CSS
- Homepage:
- Size: 61.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📚 Archive - A University Library Management System
A production-grade, scalable, and secure **University Library Management System** designed for real-world deployment. This system handles everything from book inventory and user management to secure file uploads, automated workflows, and performance optimizations.
---
## 🚀 Features
- 📖 **Robust Book Management**
CRUD operations for books, categories, authors, genres, and more.
- 👨🏫 **User Roles & Permissions**
Admins, librarians, and students with role-based access control.
- 🌐 **Advanced Search & Filters**
Full-text and relational search with pagination and dynamic filtering.
- 📥 **Media Uploads**
Upload PDFs, eBooks, images using secure cloud storage (e.g., AWS S3 or Cloudinary).
- ⚡️ **Optimizations & Caching**
Redis caching for queries, image optimization, and performance tuning.
- 🔐 **Security & Rate Limiting**
Helmet, CORS, express-rate-limit, and DDoS protection middleware.
- 📩 **Custom Notifications & Workflows**
Email and in-app notifications for due dates, new arrivals, and more.
- 🧠 **Analytics & Logging**
Real-time stats on book checkouts, active users, system health (with tools like Prometheus/Grafana or LogRocket/Sentry).
---
## 🛠 Tech Stack
| Layer | Tech |
|--------------|----------------------------------------|
| Frontend | React / Next.js (TypeScript, TailwindCSS) |
| Backend | Node.js / Express / NestJS |
| Database | PostgreSQL / MongoDB |
| Caching | Redis |
| Storage | AWS S3 / Cloudinary |
| Auth | JWT / OAuth / Role-Based Access |
| Security | Helmet, Rate Limiting, DDoS Middleware |
| DevOps | Docker, Nginx, CI/CD with GitHub Actions |
| Monitoring | Prometheus / Grafana / Sentry |
---
## 🧪 Setup Locally
```bash
git clone https://github.com/GitDaksh/archive.git
cd archive
cp .env.example .env
npm install
npm run dev
```
Set up your `.env` with the following:
```env
DATABASE_URL=your_database_url
REDIS_URL=your_redis_url
CLOUDINARY_KEY=your_key
JWT_SECRET=super_secure_secret
```
---
## 🧰 Scripts
| Script | Description |
|-----------------|------------------------------|
| `npm run dev` | Run in development mode |
| `npm run build` | Build for production |
| `npm run lint` | Lint codebase |
| `npm run test` | Run unit/integration tests |
---
## 📌 Roadmap
- [x] Core book/user management
- [x] Rate limiting and security policies
- [x] Media uploads + storage integration
- [x] Redis-based caching layer
- [x] Real-time overdue alerts via email/SMS
- [x] Admin dashboard for analytics
- [x] PWA Support + Offline Mode
---
## 🧠 Architecture Overview
```bash
📁 /src
├── /api # Express/NestJS API routes
├── /controllers # Core logic controllers
├── /services # DB interaction & business logic
├── /middleware # Auth, rate limiting, DDoS
├── /utils # Helpers, validators, error handling
├── /models # DB Models/Entities (Prisma/Mongoose/Sequelize)
├── /config # Environment config and constants
```
---
## 🤝 Contributing
1. Fork the repo
2. Create your branch: `git checkout -b feature/feature-name`
3. Commit your changes: `git commit -m 'feat: add new feature'`
4. Push to the branch: `git push origin feature/feature-name`
5. Submit a pull request
---
## 🛡 License
This project is licensed under the MIT License. See [`LICENSE`](./LICENSE) for details.
---
## 🧑💻 Maintainer
**Daksh Pushpad**
Feel free to connect or reach out for contributions, issues, or collaboration ideas.