Git Product home page Git Product logo

hacksarena's Introduction

HacksArena - Event App

HacksArena is an event management application designed to streamline the organization and participation in hackathons. Whether you are hosting a hackathon or looking to participate, HacksArena provides a centralized platform to manage events, connect with participants, and stay updated on upcoming hackathons. the application is completely built on Azure postgresSQL with Django.

  • Star the repo if found useful ๐ŸŒŸ

New feature

Points System ๐ŸŒŸ

  • Now, every action in HacksArena comes with a reward:

    • Share your wisdom with a blog? Earn 35๐ŸŒŸ
    • Log in and stay connected? Grab 10๐ŸŒŸ
    • Register for an event? Score a whopping 40๐ŸŒŸ
    • Submit a project? Get ready for 100๐ŸŒŸ

Blog CKeditor

  • for more detailing of the blog content
  • all the tex features are updated

Social Media Share

  • Twitter
  • Whatsapp

Slug Field

  • added the slug for the url to avoid the ids

Features

  • User Registration and Authentication:

    • Users can create accounts on HacksArena.
    • Social account login support for GitHub and Google.
    • Password setting for users who sign up with social accounts.
  • Event Management:

    • Hosts can create and manage hackathon events.
    • Participants can explore and register for upcoming hackathons.
  • Event Details:

    • Detailed information about each hackathon, including date, time, location, and description.
  • User Profiles:

    • Participants can create profiles showcasing their skills and interests.
    • Search functionality to find and connect with other users.
  • Blog Management:

    • The code exhibits the capabilities of creating, reading, updating, and deleting blog posts. This enables users to share
    • their experiences, insights, and tips related to hackathons.
  • Implemented redis cache

    • cache for the blog posts
    • events information
  • Search Functionality:

    • Search for hackathons based on titles and descriptions.
    • Search for users based on usernames and names.

Getting Started

Prerequisites

  • Python (version 3.11.5 recommended)
  • Django (version 4.1.13 recommended)
  • Djongo (for MongoDB integration)

Installation

  1. Clone the repository:

    git clone https://github.com/Hk669/HacksArena.git
    cd HacksArena
  2. Install dependencies:

    pip install -r requirements.txt

Configuration

export SECRET_KEY="your-secret-key"
export CLIENT_ID="client-id"
export SECRET_GITHUB="client-secret"

For redis cache

# in the ubuntu

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

sudo apt-get update
sudo apt-get install redis

Lastly to start the redis server like so:

sudo service redis-server start

redis-cli
# 127.0.0.1:6379> ping
# PONG
  1. Run migrations:

    python manage.py migrate
  2. Start the development server:

    python manage.py runserver
  3. Access the application at http://127.0.0.1:8000/.

Run on DOCKER

  • Create a file Dockerfile
   FROM python:3

   ENV PYTHONUNBUFFERED 1

   RUN mkdir /hacksarena
   WORKDIR /hacksarena
   COPY . /hacksarena/
   RUN pip install -r requirements.txt
  • Add to docker-compose.yml to Build the Image
   version: '3.9'

   services:
   web:
      build: .
      command: python manage.py runserver 0.0.0.0:8000
      volumes:
         - .:/hacksarena
      ports:
         - "8000:8000"
  • Build the Docker Image:
   # Builds the Docker Image
   docker-compose build

   # Run migrations
   docker-compose run web python manage.py migrate

   # Start the Docker Container
   docker-compose up

After executing these commands, your HacksArena application will be containerized, and the development server will start. Access the application at http://127.0.0.1:8000/.

Note: Containerization allows you to run the application in a consistent and isolated environment, ensuring seamless deployment.

Usage

Account User Profile

  • Edit the user profile

Points Points System

  • Points are displayed on the User profile

Login Page

  1. User Registration:
    • Create an account on HacksArena.
    • Use social accounts (GitHub, Google) for quick registration.

Events 2. Explore Events:

  • Browse upcoming hackathons.
  • View detailed information about each event.

  1. Event Registration:
    • Register for hackathons you're interested in.

Users 4. User Profiles:

  • Create and customize your user profile.
  • Connect with other participants.

Search 5. Search Functionality:

  • Use the search feature to find hackathons or users.

Blogs 6. Blog Management:

  • The code exhibits the capabilities of creating, reading, updating, and deleting blog posts. This enables users to share
  • their experiences, insights, and tips related to hackathons.

License

This project is licensed under the MIT License.

Contact

If you have any queries, encounter issues, or need assistance, feel free to reach out to me.

Email: [email protected]

Acknowledgments

  • The project can be used both on sql and also mongoDB.

hacksarena's People

Contributors

hk669 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.