Welcome to FindMyRoomie’s documentation!¶
FindMyRoomie is a Web Application that provides a platform for lonely wolves (NC State students) to find roommates of their preference. The stakes are high when it comes to finding your best roommate because this relationship starts with a living relationship 😅. We understand how stressful this can be, especially if you are moving to a new city or country. FindMyRoomie is a one-stop solution to your roommate finding needs. Our software has functionalities that allow you to filter and choose your ideal roommate. But if that is too much work for you, we also provide roommate suggestions based on your preferences! Any NC State student could sign up with their NC State Email address from any corner of the world on our website and begin searching for roommates.
Contents:
Seed users¶
- class base.management.commands.seed_users.Command(stdout=None, stderr=None, no_color=False, force_color=False)¶
Django manage.py command
- add_arguments(parser)¶
Entry point for subclassed commands to add custom arguments.
- handle(*args, **options)¶
The actual logic of the command. Subclasses must implement this method.
- class base.management.commands.seed_users.ProfileFactory(**kwargs)¶
Faker Factory for Profile Model
- class base.management.commands.seed_users.UserFactory(**kwargs)¶
Faker Factory for User model
Matching Algorithm¶
- base.matching.matchings(current_user)¶
Generate matches using Manhattan Distance Algorithm
- base.matching.similarity_score(gender, degree, diet, country, course)¶
Calculate the similarity score
Profile filter¶
- class base.filters.ProfileFilter(data=None, queryset=None, *, request=None, prefix=None)¶
Filter to filter the queryset for profiles
Forms¶
- class base.forms.ProfileForm(*args, **kwargs)¶
Build the User Profile Form
- property media¶
Return all media required to render the widgets on this form.
- class base.forms.SignUpForm(*args, **kwargs)¶
Build Sign up Form
- clean()¶
Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.
- property media¶
Return all media required to render the widgets on this form.
User Manager model¶
- class base.managers.CustomUserManager(*args, **kwargs)¶
Custom user model manager where email is the unique identifiers for authentication instead of usernames.
- create_superuser(email, password, **extra_fields)¶
Create and save a SuperUser with the given email and password.
- create_user(email, password, **extra_fields)¶
Create and save a User with the given email and password.
Profile model¶
- class base.models.CustomUser(*args, **kwargs)¶
Custom User Model
- exception DoesNotExist¶
- exception MultipleObjectsReturned¶
- save(*args, **kwargs)¶
Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
- username = None¶
- class base.models.Profile(*args, **kwargs)¶
Model for User Profile
- exception DoesNotExist¶
- exception MultipleObjectsReturned¶
- PREF_COURSE_CHOICES = (('No Preference', 'No Preference'), ('Computer Science', 'Computer Science'), ('Computer Engineering', 'Computer Engg.'), ('Electrical Engineering', 'Electrical Engg.'), ('Mechanical Engineering', 'Mechanical Engg.'))¶
User Profile Model
- base.models.create_user_profile(sender, instance, created, **kwargs)¶
Create User Profile
- base.models.save_user_profile(sender, instance, **kwargs)¶
Save User Profile
Utility Functions¶
- base.utils.check_ncsu_email(email)¶
Check if the given email belongs to NCSU email id.
Configuration¶
ASGI config for config 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/3.1/howto/deployment/asgi/
Django settings for config project.
Generated by ‘django-admin startproject’ using Django 3.1.3.
For more information on this file, see https://docs.djangoproject.com/en/3.1/topics/settings/
For the full list of settings and their values, see https://docs.djangoproject.com/en/3.1/ref/settings/
config URL Configuration
The urlpatterns list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/3.1/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’))
WSGI config for config 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/3.1/howto/deployment/wsgi/
Indices and tables¶
Authors:
Rohit Geddam, Arun Kumar Ramesh, Kiron Jayesh, Shandler Mason, and Sai Krishna Teja Varma Manthena.
Version:
v3.1 of 2022/10/08