Learning MongoDB with Next.js

Notice Management System

A full-stack learning project built with Next.js, MongoDB, Auth.js, and Cloudinary. It demonstrates a practical notice portal with admin management, file attachments, searchable notices, category filtering, pagination, and PDF page previews.

CRUD

Notice add, edit, delete

PDF

Preview, open, download

Admin

Protected management

System Preview

Admin Notice Flow

Exam Routine Notice

Academic

This notice includes a PDF attachment. Public users can preview PDF pages as images and still open the original file.

routine-summary.pdf

PDF Attachment

Notice Date: 24 May 2026

Storage

MongoDB

Uploads

Cloudinary

MongoDB CRUD

Create, read, update, and delete notices using a real MongoDB database connection.

Admin Protection

Protected admin dashboard with MongoDB-based admin users and route protection.

Custom Notice Date

Publish notices with today’s date or manually select a backdated notice date.

PDF/Image Upload

Upload notice attachments with Cloudinary, including original PDF open/download support.

PDF Page Preview

Preview PDF pages as generated image previews while keeping the original PDF file.

Search & Filter

Search notices by title, description, date, category, or attachment filename.

Project Purpose

Built as a practical MongoDB learning project

This project can be used as a prototype foundation for a future organization or NGO website admin portal where staff members can manage notices, documents, attachments, and public content.