Skip to content

A full-stack MERN-based platform built for college-level event management. It allows departments and innovation cells to create, manage, and track hackathons, workshops, and student participation — providing a centralized system for event handling and performance monitoring.

Notifications You must be signed in to change notification settings

kirtick28/Events-Hackathon-Reports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License

Hackathon Event Reports Logo

Hackathon Event Reports

A modern full-stack platform for seamless hackathon event report management.

Deployed App
Demo Screenshot

Explore the Docs | View Live Demo | Report Bug | Request Feature


Table of Contents

Click to expand
  1. About The Project
  2. Built With
  3. Getting Started
  4. Usage
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

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.

(back to top)


Built With

MongoDB Express React Node.js AWS JWT

(back to top)


Getting Started

Follow these steps to set up the project locally.

Prerequisites

  • 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

Installation

  1. Clone the repository:

    git clone https://github.com/kirtick28/Events-Hackathon-Reports.git
  2. Install server dependencies:

    cd server
    npm install
  3. Install client dependencies:

    cd client
    npm install
  4. Set up environment variables:

    • Create a .env file in the server directory:

      # 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 .env file in the client directory:

      VITE_BASE_URL=http://localhost:8000

(back to top)


Usage

AWS S3 Setup

  1. Create an AWS IAM user with S3 full access.
  2. Set up an S3 bucket in your preferred region.
  3. Add AWS credentials to the server .env file.

Gmail App Password

  1. Enable 2-Step Verification in your Google Account.
  2. Generate an App Password for "Other" applications.
  3. Use the generated password in the EMAIL_PASSWORD field.

Running the Application

  1. Start the server:

    cd server
    npm run dev
  2. Start the client:

    cd client
    npm run dev

Visit http://localhost:3000 to access the application.

(back to top)


Roadmap

  • 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.

(back to top)


Contributing

We welcome contributions! To contribute:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add YourFeature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request.

Please ensure your code follows the project's style guidelines.

(back to top)


Contact

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

(back to top)


Acknowledgments

(back to top)


About

A full-stack MERN-based platform built for college-level event management. It allows departments and innovation cells to create, manage, and track hackathons, workshops, and student participation — providing a centralized system for event handling and performance monitoring.

Resources

Stars

Watchers

Forks

Languages