Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
106 changes: 106 additions & 0 deletions su-do-coders/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# BiteBase

BiteBase is a Django-based web application that provides real-time information from various trusted sources. It offers features like contests and hackathons, job listings, and breaking news updates.

Website Link: https://bitebase.onrender.com/


## Installation

Clone the repository then move to project directory using cd NewsFeed.

```shell
git clone https://github.com/nag2mani/BiteBase.git
```



## Install dependencies:

```shell
pip install -r requirements.txt
```

## Run migrations:

```shell
python manage.py makemigrations
```
```shell
python manage.py migrate
```

## Start the development server:

```shell
python manage.py runserver
```

Visit http://127.0.0.1:8000/ in your web browser to access the application.


## Urls Pattern

Home: http://127.0.0.1:8000/

Contest: http://127.0.0.1:8000/contest

Job: http://127.0.0.1:8000/job

Tech News: http://127.0.0.1:8000/news

Contact: http://127.0.0.1:8000/contact

## Our Services:

Our website is a comprehensive platform that aggregates real-time data from various sources to provide users with valuable information on hackathons, coding contests, job opportunities, and news articles. Here's a summary of its key features:


1. **Hackathons and Coding Contests:**
- Our website scrapes data from multiple websites worldwide to gather information about hackathons and coding contests.
- This data is then stored in our database for easy access and management.
- Users can explore upcoming hackathons and coding contests directly from our platform, making it convenient to find and participate in events of interest.


2. **Job Listings:**
- Similar to hackathons, our website collects job listings from various sources on the internet.
- Users can browse through a wide range of job opportunities conveniently aggregated on our platform.
- By providing access to diverse job listings, we aim to help users find suitable employment opportunities more efficiently.


3. **News Articles:**
- Our website also curates Tech news articles from different sources, presenting users with the latest headlines and summaries.
- Users can stay informed about current events, industry updates, and trending topics without the need to visit multiple websites.
- The summarized news articles make it easy for users to grasp the key information quickly and efficiently.



## TechStack used;

**1. HTML5**

**2. CSS**

**3. Bootstrap**

**4. Javascript**

**5. Python**

**6. Django**

**7. SQL(Sqlite)**

**8. Machine Learning Model**

**8. Generative AI [Gemini & Groq]**



## Team:

**Nagmani Kumar Team Lead [Backend, Database, GenAI and ML]**,

**Sahil Kumar [FrontEnd, GenAI and UI/UX Design]**,


13 changes: 13 additions & 0 deletions su-do-coders/core/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# exit on error
set -o errexit

pip install -r requirements.txt

python3 manage.py collectstatic --no-input
python3 manage.py migrate

# python3 manage.py runserver



Empty file.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
16 changes: 16 additions & 0 deletions su-do-coders/core/core/asgi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
"""
ASGI config for core project.

It exposes the ASGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/
"""

import os

from django.core.asgi import get_asgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')

application = get_asgi_application()
144 changes: 144 additions & 0 deletions su-do-coders/core/core/settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
"""
Django settings for core project.

Generated by 'django-admin startproject' using Django 4.2.7.

For more information on this file, see
https://docs.djangoproject.com/en/4.2/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/4.2/ref/settings/
"""

from pathlib import Path
import os
# from dotenv import load_dotenv

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-x5h^8a$l2s#qt6c%9ugq_16qllxt*ymal&vivw#p-1si2zffnu'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = ['127.0.0.1','localhost','bitebase.onrender.com']


# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'home',
]

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'core.urls'

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

WSGI_APPLICATION = 'core.wsgi.application'


# Database
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}


# Password validation
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]


# Internationalization
# https://docs.djangoproject.com/en/4.2/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.2/howto/static-files/

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

STATICFILES_DIR = {
os.path.join(BASE_DIR, 'public/static')
}

MEDIA_ROOT = os.path.join(BASE_DIR, 'public/static')
MEDIA_URL = '/media/'

# Default primary key field type
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'


# load_dotenv()

KEY_ID="rzp_test_kRKmXIu82zMfJ1"
# SECRET_KEY = os.getenv('SECRET_KEY_RAZORPAY')
SECRET_KEY="mNdwGKAje4oeteHszcN7gUXc"



44 changes: 44 additions & 0 deletions su-do-coders/core/core/urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
"""
URL configuration for core project.

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:
Function views.
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""

from django.contrib import admin
from django.urls import path
from home.views import *
from django.conf.urls.static import static
from django.conf import settings
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = [
path('', home, name='home'),
path('contest/', contest, name='contest'),
path('job/', job, name='job'),
path('news/', news, name='news'),
path("login/", login_page, name='login'),
path("logout/", logout_page, name='logout'),
path("signup/", signup, name='signup'),
path("contact/", contact, name='contact'),
path("add_your_news/", add_your_news, name='add_your_news'),
path('admin/', admin.site.urls),
]


if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL,
document_root = settings.MEDIA_ROOT)

urlpatterns += staticfiles_urlpatterns()

16 changes: 16 additions & 0 deletions su-do-coders/core/core/wsgi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
"""
WSGI config for core project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/
"""

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')

application = get_wsgi_application()
Binary file added su-do-coders/core/db.sqlite3
Binary file not shown.
Loading