A comprehensive web application for the Entrepreneurship Cell of your college/university, featuring a public-facing website and an administrative panel.
-
Public Website
- Home page with information about E-Cell
- Events listing and details
- Resources section
- Gallery
- Team members
- Contact form
-
Member Features
- User authentication (signup/login)
- User dashboard
- Event registration
- Personalized content
-
Admin Panel
- User management
- Event management
- Resource management
- Gallery management
- Team management
- Announcements
- Admin-only controls
-
Super Admin Features
- All admin features
- Audit logs
- Meeting management
- Role management
-
Frontend
- Next.js (React framework)
- TypeScript
- Tailwind CSS for styling
- Redux Toolkit for state management
- Framer Motion for animations
-
Backend
- Node.js with Express
- TypeScript
- MongoDB with Mongoose
- JWT for authentication
- Multer for file uploads
- Various security middleware
- Node.js (v18.0.0 or higher)
- MongoDB (local installation or MongoDB Atlas account)
- npm or yarn package manager
-
Navigate to the backend directory:
cd backend -
Install dependencies:
npm install -
Create a
.envfile in the backend directory with the following variables:PORT=5000 MONGODB_URI=mongodb://localhost:27017/ecell-db JWT_SECRET=your-secret-key JWT_EXPIRES_IN=7d CLOUDINARY_CLOUD_NAME=your-cloud-name CLOUDINARY_API_KEY=your-api-key CLOUDINARY_API_SECRET=your-api-secret -
Build the TypeScript code:
npm run build -
Initialize the database with test users:
npm run init-db -
Start the backend server:
npm run devThe server will start on port 5000 (or the port specified in your .env file).
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install -
Create a
.env.localfile in the frontend directory with the following variables:NEXT_PUBLIC_API_URL=http://localhost:5000/api NEXT_PUBLIC_SITE_URL=http://localhost:3000 -
Start the development server:
npm run devThe application will be available at http://localhost:3000.
After running the init-db script, the following test users will be available:
-
Student User
- Email: student@example.com
- Password: password123
- Role: member
-
Admin User
- Email: admin@example.com
- Password: admin123
- Role: admin
-
Super Admin
- Email: superadmin@example.com
- Password: super123
- Role: superadmin
src/index.ts- Entry point of the applicationsrc/routes/- API routessrc/controllers/- Route controllerssrc/models/- Mongoose modelssrc/middleware/- Custom middlewaresrc/utils/- Utility functions
src/app/- Next.js app directory with pagessrc/components/- React componentssrc/redux/- Redux store, slices, and actionssrc/services/- API service for backend communicationpublic/- Static files
This project is licensed under the MIT License - see the LICENSE file for details.