findmyroomie_2.0
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.9%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: Nikhil1912
- License: mit
- Language: Python
- Default Branch: main
- Size: 61.4 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 3
- Open Issues: 5
- Releases: 2
Metadata Files
README.md

FindMyRoomie
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 :sweat_smile:. 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.
The software is free for use by anyone, and we also welcome any contributions to improve our software. Please read our CONTRIBUTING.md file for more details). If you would like to cite our repository, please check our CITATION.cff file.
To jump ahead to installation instructions, click here
Features of our software
1. Homepage:
The homepage contains the 'Sign in' and 'Sign up' buttons, along with the number of users that have registered.
2. SignUp:
Allows new users to register to our roommate finding portal. The 'Sign up' page asks to enter an NCSU email id and a suitable password which should be strong enogugh.
3. Email Confirmation:
After entering the credentials for signup, a confirmation email is sent to the registered mail id, asking to confirm the resgistration. Upon clicking the link provided in the mail, the account gets confirmed and the user is directly redirected to the welcome page.
4. SignIn:
Allows existing users to login to our website using their credentials.
3. Resetting your password:
In case the user forgets the password, they can enter their registered email id in the 'Forgot your password?' tab. An email with a link to set a new password will be sent to the email. Clicking the link will redirect the user to reset their password, and, tada! Password reset!!!
3. Welcome page:
A page with happy two happy wolves enjoying each other's company in the background, just like you and your roommates will be :heartonfire:.
4. My Profile:
Allows you to introduce whom you are to your future roommate! You are given the opportunity to tell others a little bit about yourself and your preferences. The "Visibility" checkbox in your profile allows you to choose whether you want to be visible to others. If you are looking for roommates, you can toggle it on, and if you have found one (Congratulations :partying_face: :partying_face:), you can toggle it off. It's that easy!
#### 5. Find people:
Lists the people looking for roommates just like you. Our "Wolf Filter" lets you filter candidates based on your preferences :wolf:. Be choosy!
#### 6. Recommended matches:
Lists your roommates and provides roommate suggestions based on your preferences. The similarity scores with other roommate seekers are calculated based on Manhattan Distance, and the people with the top scores are shown as suggestions.
#### 7. About
Elaborates on the project and provides details about the contributors along with a link to our documentation.
To aid you in your roommate search, to help others find you, and also to provide you with relevant roommate suggestions, you will be asked to share your "Name", "Email", "Date of Birth", "Gender", "Diet", "Hometown", "Degree and Course", "Country of Origin". You are free to include anything in your bio (which could include your Instagram ID and other social media handles).
#### 2. Will we be storing your details, and how will we use them?
Yes, we will be storing them in our database. We will ONLY use this to match you with potential roommates and improve our software.
#### 3. Will we share it with any third-party institutions?
NO. Your data is safe with us :slightly_smiling_face:. We will not share/lend/rent your data to any outside institutions/personnel.
#### 4. How long will you store my data?
We retain your information as long as needed to provide you with our services.
#### 5. How to remove my data from the website?
Our current release does not provide you with a mechanism to remove your data directly from our website. You are always free to turn off your visibility. If you still feel the need to remove your data from our website, kindly email one of the contributors from your registered Email ID, and we will take care of the rest!
M M Abid Naziri - mnaziri@ncsu.edu
Nikhil Mehra - nmehra2@ncsu.edu
Bella Samuelsson - insamuel@ncsu.edu
Parth Katlana - pkatlan@ncsu.edu
Heidi Reichert - hreiche@ncsu.edu Distributed under the MIT License. See Questions about the software? Kindly contact us through one of the following routes. We are happy to answer all your questions regarding the software. Feel free to reach out to us in case you encounter issues in the software, for example, issues in signing up, logging in, or any other features.
### The website flow is depicted in the below video:
#### Sign up:
https://user-images.githubusercontent.com/73664200/194796584-5f1fea3f-9e45-4e7b-b69a-0e3b0b100b91.mp4
### Functionalities post sign up:
#### Resetting password:
https://user-images.githubusercontent.com/73664200/194796923-61d96045-04f9-4e2d-a524-546f8b7ee34e.mp4
## Steps to set up the project on your local machine
#### 1. Clone the repository:
`git clone https://github.com/rohitgeddam/FindMyRoomie.git`
#### 2. Setup the virtual environment:
`python -m venv venv`
#### 3. Activate the virtual environment:
* On Mac/Linux:
`source venv/bin/activate`
* On Windows:
`venv\Scripts\activate`
#### 3. Install required modules and libraries:
`pip install -r requirements.txt`
#### 4. Create a working email address
To setup Gmail to send emails to users, first create a new Gmail account. Under 'Manage your Google Account', enable 2-Step Verification and select suitable app and device under 'App passwords'. Check out [this link](https://support.google.com/accounts/answer/185833?hl=en) for more information. Save the key that is generated, as well as the email that was used.
Create a new text file called .env as follows:
`./src/config/.env`
Then paste in the following information:
```
SECRET_KEY=@dr11(7h4n=#@8juk63y(-#bqicdl$9f2okpr@#564=a+-f&*8
DEBUG=True
EMAIL_BACKEND="django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST=smtp.gmail.com
EMAIL_USE_TLS=True
EMAIL_PORT=587
EMAIL_HOST_USER=[your gmail address]
EMAIL_HOST_PASSWORD=[the key you generated earlier]
```
Fill the above field and save.
#### 5. Run the application:
```
cd src
python manage.py migrate
python manage.py runserver
```
## After adding another field to Model
Django's way of propagating changes you make to your models (adding a field, deleting a model, etc.) into your database schema.
```
python manage.py makemigrations
python manage.py migrate
```
## Populate fake data for testing
```
python manage.py seed_users
Image from [Ji Miranda](https://ljvmiranda921.github.io/assets/png/tuts/precommit_pipeline.png).
### CodeQL
`CodeQL.yml` performs automated security checks on the codebase and scans it for any vulnerabilities and bugs. For more information about CodeQL, please visit this [link](https://codeql.github.com/docs/codeql-overview/about-codeql/).
## Privacy Notice
#### 1. What personal details of yours would you be sharing with us and why?
Technology Used
Python 3.7+Django 4.1.2HTML5CSS3BootStrap v5.2Roadmap
3 months milestone:
6 months milestone:
9 months milestone:
Contact us:
License:
LICENSE for more informationSupport:
Owner
- Name: Nikhil Mehra
- Login: Nikhil1912
- Kind: user
- Repositories: 10
- Profile: https://github.com/Nikhil1912
Citation (CITATION.cff)
cff-version: 1.0.0 message: "If you use this software, please cite it as below." authors: - family-names: "Reichert" given-names: "Heidi" orcid: "https://orcid.org/0000-0002-1814-3611" - family-names: "Mehra" given-names: "Nikhil" orcid: "https://orcid.org/0000-0002-2243-1456" - family-names: "Samuelsson" given-names: "Bella" orcid: "https://orcid.org/0000-0003-0129-9529" - family-names: "Katlana" given-names: "Parth" orcid: "https://orcid.org/0000-0003-0129-9529" - family-names: "Naziri" given-names: "Abid" orcid: "https://orcid.org/0000-0002-3499-5283" title: "FindMyRoomie_2.0" version: 1.0.0 date-released: 2022-11-14 url: "https://github.com/Nikhil1912/FindMyRoomie_2.0" title: "FindMyRoomie2.0" doi: 10.5281/zenodo.7308277
GitHub Events
Total
Last Year
Dependencies
- Babel ==2.10.3
- Django ==4.1.1
- Faker ==15.0.0
- Jinja2 ==3.1.2
- MarkupSafe ==2.1.1
- Pillow ==9.2.0
- PySocks ==1.7.1
- PyYAML ==6.0
- Pygments ==2.13.0
- Sphinx ==5.2.3
- Unidecode ==1.3.6
- alabaster ==0.7.12
- asgiref ==3.5.2
- astroid ==2.12.10
- async-generator ==1.10
- attrs ==22.1.0
- autopep8 ==1.7.0
- black ==21.12b0
- brunette ==0.2.7
- certifi ==2022.9.24
- cfgv ==3.3.1
- charset-normalizer ==2.1.1
- click ==8.1.3
- distlib ==0.3.6
- dj-database-url ==1.0.0
- django-countries ==7.3.2
- django-crispy-forms ==1.14.0
- django-environ ==0.9.0
- django-filter ==22.1
- django-heroku ==0.3.1
- django-seed ==0.3.1
- django-sphinx-autodoc ==0.2
- django-utils-six ==2.0
- docutils ==0.19
- exceptiongroup ==1.0.0rc9
- factory-boy ==3.2.1
- filelock ==3.8.0
- flake8 ==5.0.4
- h11 ==0.14.0
- identify ==2.5.6
- idna ==3.4
- imagesize ==1.4.1
- importlib-metadata ==5.0.0
- jsonschema ==4.16.0
- lazy-object-proxy ==1.7.1
- m2r ==0.2.1
- m2r2 ==0.3.3
- mccabe ==0.7.0
- mistune ==0.8.4
- mypy-extensions ==0.4.3
- nodeenv ==1.7.0
- outcome ==1.2.0
- packaging ==21.3
- pathspec ==0.10.1
- platformdirs ==2.5.2
- pre-commit ==2.20.0
- psycopg2 ==2.9.3
- pycodestyle ==2.9.1
- pyflakes ==2.5.0
- pyparsing ==3.0.9
- pyrsistent ==0.18.1
- python-dateutil ==2.8.2
- python-dotenv ==0.21.0
- pytz ==2022.4
- requests ==2.28.1
- selenium ==4.5.0
- six ==1.16.0
- sniffio ==1.3.0
- snowballstemmer ==2.2.0
- sortedcontainers ==2.4.0
- sphinx-autoapi ==2.0.0
- sphinx-autopackagesummary ==1.3
- sphinx-rtd-theme ==0.5.1
- sphinxcontrib-applehelp ==1.0.2
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==2.0.0
- sphinxcontrib-httpdomain ==1.8.0
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-openapi ==0.7.0
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.5
- sqlparse ==0.4.2
- toml ==0.10.2
- tomli ==1.2.3
- toposort ==1.7
- tqdm ==4.64.1
- trio ==0.22.0
- trio-websocket ==0.9.2
- typing_extensions ==4.3.0
- urllib3 ==1.26.12
- virtualenv ==20.16.5
- webdriver-manager ==3.8.3
- whitenoise ==6.2.0
- wrapt ==1.14.1
- wsproto ==1.2.0
- zipp ==3.8.1
- actions/checkout v3 composite
- github/codeql-action/analyze v2 composite
- github/codeql-action/autobuild v2 composite
- github/codeql-action/init v2 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- actions/configure-pages v2 composite
- actions/deploy-pages v1 composite
- actions/jekyll-build-pages v1 composite
- actions/upload-pages-artifact v1 composite