A comprehensive web platform for the Mining Engineering Society featuring modern design, content management, and administrative capabilities.
- Digital Publications: Manage PDF publications with cover images
- Poetry Collection: Create and manage poems with MDX formatting
- Article Library: Publish and organize articles with rich text content
- MDX Support: Full MDX rendering with React components for enhanced content
- Alumni Network: Complete alumni directory with profiles and career information
- Stakeholder Directory: Industry partners and stakeholder management
- Photo Integration: Profile photos for all members with Cloudinary support
- Event Gallery: Image galleries for past and upcoming events
- Event Types: Categorized events (workshops, seminars, conferences)
- Visual Management: Rich image support for event documentation
- Gallery Management: Photo gallery for MINARE events
- Team Profiles: Team member management with roles and photos
- Sponsor Directory: Sponsor management and display
- Modern UI: Glassmorphism design with dark theme
- Content Management: Full CRUD operations for all content types
- MDX Preview: Real-time MDX rendering in modal views
- Responsive Design: Mobile-friendly administrative interface
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Modern styling framework
- Glassmorphism UI - Modern design with backdrop blur effects
- Drizzle ORM - Type-safe database operations
- PostgreSQL - Primary database
- Server Actions - Next.js server-side functions
- MDX Support - Rich content with React components
- Cloudinary - Image hosting and optimization
- Custom Modal System - Content preview and management
- Custom Auth - Secure admin authentication system
- Session Management - Persistent login sessions
- Node.js 18+
- PostgreSQL database
- Cloudinary account (for image hosting)
-
Clone the repository
git clone https://github.com/swaindhruti/MES.git cd mining-engineering-society -
Install dependencies
npm install
-
Environment Setup Create a
.envfile with the following variables:# Database DATABASE_URL="your_postgresql_connection_string" # Cloudinary CLOUDINARY_CLOUD_NAME="your_cloud_name" CLOUDINARY_API_KEY="your_api_key" CLOUDINARY_API_SECRET="your_api_secret" # Authentication AUTH_SECRET="your_auth_secret"
-
Database Setup
npm run db:push npm run db:migrate
-
Run Development Server
npm run dev
-
Access the Application
- Main Site:
http://localhost:3000 - Admin Dashboard:
http://localhost:3000/dashboard - Login:
http://localhost:3000/login
- Main Site:
src/
βββ app/ # Next.js App Router
β βββ (routes)/ # Main application routes
β β βββ dashboard/ # Admin dashboard
β β β βββ poems/ # Poetry management
β β β βββ articles/ # Article management
β β β βββ alumni/ # Alumni management
β β β βββ events/ # Event management
β β β βββ ... # Other admin pages
β β βββ login/ # Authentication
β β βββ ... # Public pages
β βββ api/ # API routes
βββ actions/ # Server actions
β βββ auth/ # Authentication actions
β βββ mes/ # MES-related actions
β β βββ events/ # Event CRUD
β β βββ members/ # Member management
β β βββ minerva/ # Publication actions
β β βββ poems/ # Poetry actions
β β βββ articles/ # Article actions
β βββ minare/ # MINARE actions
βββ components/ # React components
β βββ ui/ # Reusable UI components
β βββ features/ # Feature-specific components
β βββ layout/ # Layout components
βββ db/ # Database configuration
β βββ schema.ts # Drizzle schema definitions
βββ lib/ # Utility libraries
βββ config/ # Configuration files
- Dashboard: Black with glassmorphism effects
- Poems: Orange gradient theme (
orange-400toorange-600) - Articles: Purple gradient theme (
purple-400topurple-600) - Alumni: Green gradient theme (
green-400togreen-600) - Events: Blue gradient theme (
blue-400toblue-600)
- Glassmorphism Cards:
backdrop-blur-xlwithbg-black/40 - Gradient Buttons: Theme-specific gradient backgrounds
- Modal System: Full-screen overlays with blur effects
- Form Elements: Dark theme with focus states
alumni- Alumni member information with photosstakeholders- Industry stakeholder directoryevents- Event management with image galleriesminerva- PDF publication managementpoems- Poetry content with MDX supportarticles- Article content with MDX supportusers- Admin user authentication
gallery- MINARE photo gallerymembers- MINARE team members
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run type-check # TypeScript type checking
npm run db:push # Push schema to database
npm run db:migrate # Run database migrationsThe platform supports MDX formatting for poems and articles:
- Headers:
# ## ###with gradient styling - Text Formatting:
**bold**and*italic* - Code:
`inline code`with syntax highlighting - Blockquotes:
> quoted textwith colored borders - Lists:
- itemwith bullet points
- Connect your GitHub repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push to main
- Build the application:
npm run build - Start the production server:
npm run start - Ensure database and environment variables are configured
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Mining Engineering Society
- Academic institution platform
- Student organization management
- Industry partnership facilitation
For support and questions:
- Create an issue in the GitHub repository
- Contact the development team
- Check the documentation for common solutions
Built with β€οΈ by the MES Development Team