{"id":30676107,"url":"https://github.com/arpanpramanik2003/freshers-website","last_synced_at":"2026-02-13T11:13:15.410Z","repository":{"id":312452234,"uuid":"1047528089","full_name":"arpanpramanik2003/freshers-website","owner":"arpanpramanik2003","description":"Modern, full-stack college event portal for ABHIGRAHA 2K25 built with React, Express, Vite, TailwindCSS, and MongoDB.","archived":false,"fork":false,"pushed_at":"2025-11-14T17:32:23.000Z","size":17526,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-14T19:25:19.476Z","etag":null,"topics":["bycrypt","college-website","express-js","freshers","jwt-authentication","mongodb-atlas","nodejs","nodemon","postgresql","railway-deployment","reactjs","render-deployment","responsive","supabase-db","tailwind-css","vercel-deployment","vite"],"latest_commit_sha":null,"homepage":"https://abhigraha2k25.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arpanpramanik2003.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-30T16:11:26.000Z","updated_at":"2025-11-14T17:32:26.000Z","dependencies_parsed_at":"2025-08-30T19:17:12.166Z","dependency_job_id":"7a7862b9-a22e-4d44-8f3d-25654a740dfb","html_url":"https://github.com/arpanpramanik2003/freshers-website","commit_stats":null,"previous_names":["arpanpramanik2003/freshers-website"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arpanpramanik2003/freshers-website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpanpramanik2003%2Ffreshers-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpanpramanik2003%2Ffreshers-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpanpramanik2003%2Ffreshers-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpanpramanik2003%2Ffreshers-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arpanpramanik2003","download_url":"https://codeload.github.com/arpanpramanik2003/freshers-website/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arpanpramanik2003%2Ffreshers-website/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29403584,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bycrypt","college-website","express-js","freshers","jwt-authentication","mongodb-atlas","nodejs","nodemon","postgresql","railway-deployment","reactjs","render-deployment","responsive","supabase-db","tailwind-css","vercel-deployment","vite"],"created_at":"2025-09-01T09:41:46.058Z","updated_at":"2026-02-13T11:13:15.405Z","avatar_url":"https://github.com/arpanpramanik2003.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎓 ABHIGRAHA 2K25 — Freshers Website\n\n\u003cdiv align=\"center\"\u003e\n\n[![Node.js](https://img.shields.io/badge/Node.js-v18.0+-339933?style=flat-square\u0026logo=node.js)](https://nodejs.org/)\n[![React](https://img.shields.io/badge/React-19.1.1-61DAFB?style=flat-square\u0026logo=react)](https://react.dev/)\n[![Express](https://img.shields.io/badge/Express-4.18.2-000000?style=flat-square\u0026logo=express)](https://expressjs.com/)\n[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-336791?style=flat-square\u0026logo=postgresql)](https://www.postgresql.org/)\n[![Vite](https://img.shields.io/badge/Vite-7.1.2-646CFF?style=flat-square\u0026logo=vite)](https://vitejs.dev/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind%20CSS-3.4.13-06B6D4?style=flat-square\u0026logo=tailwind-css)](https://tailwindcss.com/)\n[![License](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](LICENSE)\n\n**A modern, full-stack web application for managing freshers orientation events with real-time updates, admin dashboard, and comprehensive event management features.**\n\n[📖 Documentation](#features) • [🚀 Quick Start](#quick-start) • [📁 Project Structure](#project-structure) • [🛠️ Tech Stack](#tech-stack)\n\n\u003c/div\u003e\n\n---\n\n## ✨ Features\n\n### 🎯 Core Functionality\n- **Event Management** - Create, update, and manage freshers orientation events\n- **Admin Dashboard** - Comprehensive admin panel for event and user management\n- **User Authentication** - Secure JWT-based authentication with role-based access control\n- **File Upload Support** - Seamless file upload capabilities with Multer\n- **Real-time Updates** - Responsive frontend with React and Vite\n- **Modern UI** - Beautiful, responsive design using Tailwind CSS\n- **API Analytics** - Integrated Vercel Analytics for performance tracking\n\n### 🔐 Security Features\n- Password hashing with bcryptjs\n- JWT-based authentication\n- CORS enabled\n- Environment variable management\n- Role-based access control (RBAC)\n\n### 📱 Responsive Design\n- Mobile-first approach\n- Fully responsive UI components\n- Progressive web app ready\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n- Node.js (v18.0 or higher)\n- PostgreSQL (v12 or higher)\n- npm or yarn package manager\n\n### Installation\n\n#### Clone the Repository\n```bash\ngit clone https://github.com/aritramukhopadhyay2004/freshers-website.git\ncd freshers-website\n```\n\n#### Frontend Setup\n```bash\ncd frontend\nnpm install\nnpm run dev      # Start development server\n# or\nnpm run build    # Build for production\n```\n\n#### Backend Setup\n```bash\ncd ../backend\nnpm install\n\n# Create a .env file\necho \"DATABASE_URL=postgresql://user:password@localhost:5432/freshers_db\" \u003e .env\necho \"JWT_SECRET=your_secret_key_here\" \u003e\u003e .env\necho \"PORT=5000\" \u003e\u003e .env\n\nnpm run dev      # Start development server with nodemon\n# or\nnpm start        # Start production server\n```\n\n#### Initialize Database\n```bash\n# Create admin user\ncd backend\nnpm run create-admin\n\n# Seed sample data\nnpm run seed-sample\n```\n\n---\n\n## 📁 Project Structure\n\n```\nfreshers-website/\n├── 📦 backend/\n│   ├── 📁 routes/\n│   │   ├── admin.js          # Admin endpoints\n│   │   ├── auth.js           # Authentication endpoints\n│   │   └── public.js         # Public/General endpoints\n│   ├── 📁 middleware/        # Authentication \u0026 validation middleware\n│   ├── 📁 models/            # Sequelize database models\n│   ├── 📁 migrations/        # Database migrations\n│   ├── 📁 scripts/           # Utility scripts\n│   ├── 📁 instance/          # Database instance config\n│   ├── app.js                # Express server entry point\n│   └── package.json\n│\n├── 📦 frontend/\n│   └── 📁 src/\n│       ├── 📁 admin/         # Admin dashboard components\n│       ├── 📁 components/    # Reusable React components\n│       ├── 📁 pages/         # Page components\n│       ├── 📁 assets/        # Images, icons, styles\n│       ├── 📁 config/        # Configuration files\n│       ├── App.jsx\n│       └── main.jsx\n│\n├── package.json              # Root dependencies (if any)\n├── package-lock.json\n├── README.md                 # This file\n└── .gitignore\n```\n\n---\n\n## 🛠️ Tech Stack\n\n### Frontend\n| Technology | Version | Purpose |\n|------------|---------|----------|\n| **React** | ^19.1.1 | UI library |\n| **Vite** | ^7.1.2 | Build tool \u0026 dev server |\n| **React Router** | ^7.8.2 | Client-side routing |\n| **Tailwind CSS** | ^3.4.13 | Styling \u0026 responsive design |\n| **ESLint** | ^9.33.0 | Code quality |\n| **PostCSS** | ^8.5.6 | CSS transformation |\n| **Vercel Analytics** | ^1.4.1 | Performance tracking |\n\n### Backend\n| Technology | Version | Purpose |\n|------------|---------|----------|\n| **Express.js** | ^4.18.2 | Web framework |\n| **PostgreSQL** | (via Sequelize) | Database |\n| **Sequelize** | ^6.32.1 | ORM |\n| **JWT** | ^9.0.2 | Authentication |\n| **bcryptjs** | ^2.4.3 | Password hashing |\n| **Multer** | ^1.4.5 | File uploads |\n| **CORS** | ^2.8.5 | Cross-origin requests |\n| **Nodemon** | ^3.0.1 | Dev auto-reload |\n| **dotenv** | ^16.3.1 | Environment variables |\n\n---\n\n## 🔌 API Endpoints\n\n### Authentication Routes (`/api/auth`)\n- `POST /login` - User login\n- `POST /register` - User registration\n- `POST /logout` - User logout\n- `POST /refresh` - Refresh JWT token\n\n### Public Routes (`/api/public`)\n- `GET /events` - Get all public events\n- `GET /events/:id` - Get event details\n- `GET /about` - Get event information\n\n### Admin Routes (`/api/admin`) - ⚠️ Requires Authentication\n- `POST /events` - Create new event\n- `PUT /events/:id` - Update event\n- `DELETE /events/:id` - Delete event\n- `GET /dashboard` - Admin dashboard stats\n- `GET /users` - Manage users\n- `POST /uploads` - Handle file uploads\n\n---\n\n## 📝 Environment Variables\n\n### Backend (.env)\n```env\n# Database Configuration\nDATABASE_URL=postgresql://user:password@localhost:5432/freshers_db\n\n# JWT Configuration\nJWT_SECRET=your_super_secret_jwt_key_here\nJWT_EXPIRY=7d\n\n# Server Configuration\nPORT=5000\nNODE_ENV=development\n\n# CORS\nCORS_ORIGIN=http://localhost:5173\n```\n\n### Frontend (.env)\n```env\nVITE_API_URL=http://localhost:5000/api\n```\n\n---\n\n## 🚦 Running the Application\n\n### Development Mode\n```bash\n# Terminal 1 - Backend\ncd backend\nnpm run dev\n\n# Terminal 2 - Frontend\ncd frontend\nnpm run dev\n```\n\nFrontend will run at: `http://localhost:5173`\nBackend API will run at: `http://localhost:5000`\n\n### Production Build\n```bash\n# Frontend\ncd frontend\nnpm run build\nnpm run preview\n\n# Backend\ncd backend\nnpm start\n```\n\n---\n\n## 🗺️ Roadmap\n\n- [ ] Admin dashboard UI polish and analytics enhancements\n- [ ] Rich text editor for event descriptions\n- [ ] Media upload with progress tracking and moderation\n- [ ] Push notifications and RSVP integration\n- [ ] Internationalization (i18n) support\n- [ ] Accessibility audit and WCAG compliance\n- [ ] Email notifications system\n- [ ] Event calendar integration\n- [ ] QR code generation for events\n- [ ] Real-time participant count updates\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Please follow these steps:\n\n1. **Fork** the repository\n2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)\n3. **Commit** your changes (`git commit -m 'Add amazing feature'`)\n4. **Push** to the branch (`git push origin feature/amazing-feature`)\n5. **Open** a Pull Request\n\n### Commit Convention\nUse conventional commits for clear history:\n- `feat:` New feature\n- `fix:` Bug fix\n- `docs:` Documentation changes\n- `style:` Code style changes\n- `refactor:` Code refactoring\n- `test:` Test additions/changes\n- `chore:` Dependency/config changes\n\n---\n\n## 👥 Team \u0026 Contributors\n\n\u003cdiv align=\"center\"\u003e\n\n### 👨‍💻 **Developer \u0026 DevOps**\n**Arpan Pramanik** ([@arpanpramanik2003](https://github.com/arpanpramanik2003))\n\n*Full-stack development, backend architecture, DevOps infrastructure, and system administration*\n\n---\n\n### 🎨 **UI/UX Designer \u0026 Operator**\n**Aritra Mukhopadhyay** ([@aritramukhopadhyay2004](https://github.com/aritramukhopadhyay2004))\n\n*User interface design, user experience optimization, and project operations*\n\n\u003c/div\u003e\n\n---\n\n## 🔒 Security\n\nSecurity is a top priority. Please follow these guidelines:\n\n### Reporting Vulnerabilities\n- **DO NOT** create public issues for security vulnerabilities\n- Report privately via GitHub Security Advisory\n- Include steps to reproduce and potential impact\n- Allow reasonable time for a fix before disclosure\n\n### Security Best Practices\n- Never commit secrets or API keys to the repository\n- Use `.env` files for sensitive configuration (included in `.gitignore`)\n- Rotate keys and tokens regularly\n- Enforce least privilege on database and API access\n- Keep dependencies updated (`npm audit`, `npm update`)\n- Use HTTPS in production\n- Validate and sanitize all user inputs\n\n---\n\n## 📊 Project Statistics\n\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/aritramukhopadhyay2004/freshers-website?style=flat-square\u0026label=commits)\n![GitHub issues](https://img.shields.io/github/issues/aritramukhopadhyay2004/freshers-website?style=flat-square\u0026label=issues)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/aritramukhopadhyay2004/freshers-website?style=flat-square\u0026label=pull%20requests)\n![GitHub repo size](https://img.shields.io/github/repo-size/aritramukhopadhyay2004/freshers-website?style=flat-square)\n\n---\n\n## 📚 Resources \u0026 Documentation\n\n- [React Documentation](https://react.dev/)\n- [Express.js Guide](https://expressjs.com/)\n- [Sequelize ORM](https://sequelize.org/)\n- [Tailwind CSS](https://tailwindcss.com/)\n- [Vite Guide](https://vitejs.dev/)\n- [PostgreSQL Documentation](https://www.postgresql.org/docs/)\n\n---\n\n## 💬 Support \u0026 Questions\n\n- **Issues**: [GitHub Issues](https://github.com/aritramukhopadhyay2004/freshers-website/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/aritramukhopadhyay2004/freshers-website/discussions)\n- **Email**: Contact the team directly\n\n---\n\n## 📄 License\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n### License Summary\n- ✅ You can use this code commercially\n- ✅ You can modify the code\n- ✅ You can distribute the code\n- ⚠️ You must include the license and copyright notice\n- ❌ The code is provided \"as-is\" without warranty\n\n---\n\n## 🙏 Acknowledgments\n\n- **ABHIGRAHA 2K25** organizing committee\n- **All contributors and volunteers** who made this project possible\n- **Open source community** for amazing tools and libraries\n- **React**, **Express.js**, **PostgreSQL**, **Tailwind CSS** communities\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built with ❤️ for ABHIGRAHA 2K25**\n\n[⬆ Back to Top](#-abhigraha-2k25--freshers-website)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farpanpramanik2003%2Ffreshers-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farpanpramanik2003%2Ffreshers-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farpanpramanik2003%2Ffreshers-website/lists"}