A modern full-stack platform for seamless hackathon event report management.
Explore the Docs | View Live Demo | Report Bug | Request Feature
Click to expand
Hackathon Event Reports is a robust platform designed to streamline the submission and management of hackathon event reports. Key features include:
- Secure Authentication: JWT-based user login and role-based access control.
- Report Management: Easy submission, editing, and tracking of event reports.
- File Storage: Secure file uploads to AWS S3.
- Email Notifications: Automated emails for password resets and updates.
- RESTful API: Scalable backend architecture for seamless integration.
- Responsive UI: Built with React for a modern, user-friendly experience.
This project is ideal for hackathon organizers, participants, and administrators looking for an efficient reporting solution.
Follow these steps to set up the project locally.
- Node.js: v18 or higher
- npm: v9 or higher
- MongoDB Atlas: For database hosting
- AWS Account: For S3 file storage
- Gmail Account: For email notifications
-
Clone the repository:
git clone https://github.com/kirtick28/Events-Hackathon-Reports.git
-
Install server dependencies:
cd server npm install -
Install client dependencies:
cd client npm install -
Set up environment variables:
-
Create a
.envfile in theserverdirectory:# MongoDB MONGODB_URI=your_mongodb_atlas_url # JWT JWT_SECRET=your_secret_code JWT_RESET_SECRET=your_reset_secret_code JWT_EXPIRES_IN=1d # AWS S3 AWS_ACCESS_KEY_ID=your_aws_access_key AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key AWS_REGION=your_aws_region S3_BUCKET_NAME=your_s3_bucket_name # Server PORT=8000 NODE_ENV=development # Email EMAIL_USER=your_email@gmail.com EMAIL_PASSWORD=your_app_password EMAIL_FROM=noreply@hackreports.com CLIENT_URL=http://localhost:3000 # Password Hashing BCRYPT_SALT_ROUNDS=10
-
Create a
.envfile in theclientdirectory:VITE_BASE_URL=http://localhost:8000
-
- Create an AWS IAM user with S3 full access.
- Set up an S3 bucket in your preferred region.
- Add AWS credentials to the server
.envfile.
- Enable 2-Step Verification in your Google Account.
- Generate an App Password for "Other" applications.
- Use the generated password in the
EMAIL_PASSWORDfield.
-
Start the server:
cd server npm run dev -
Start the client:
cd client npm run dev
Visit http://localhost:3000 to access the application.
- Develop an Admin Dashboard for enhanced management.
- Implement real-time notifications using WebSockets.
- Add report analytics with visualizations.
- Support multi-file uploads for reports.
- Integrate social media sharing for events.
Track progress and suggest features in the open issues.
We welcome contributions! To contribute:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add YourFeature'). - Push to the branch (
git push origin feature/YourFeature). - Open a Pull Request.
Please ensure your code follows the project's style guidelines.
Project Maintainer: Kirtick M M
📧 Email: kirtick.mm@gmail.com
🐦 Twitter: @kirtick_28
🔗 Project Link: https://events-hackathon-reports.vercel.app/
🔗 GitHub: https://github.com/kirtick28/Events-Hackathon-Reports
- Multer-S3 for AWS S3 file uploads
- Bcrypt.js for secure password hashing
- React Icons for UI icons
- Express Validator for input validation
- Vercel for seamless deployment
