bhansaliyash / WolfLease

Welcome to WolfLease

Home Page:https://divyang02.github.io/WolfLease/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WolfLease 2.0

Open Source Love DOI

GitHub Workflow Status codecov

Formatting python code Lint Python

WolfLease license WolfLease forks WolfLease stars WolfLease issues WolfLease issues-closed WolfLease pull-requests

Report Bug Β· Request Feature

πŸ“„ Description

sublease1


Finding apartments on a lease can be a difficult and time-consuming task. We can sublease a room to save time, possibly rent, and enjoy the benefits of a shorter lease time. WolfLease is an application to help people find Apartments offering rooms on sublease and move in faster! WolfLease allows us to search for flats based on location, facilities, sublease start and end dates, etc.

Phase 1

Group20-Intro.mp4

Phase 2

WolfLease2.0

πŸ“‹ Rubric

  • Phase 1 Rubric: link
  • Phase 2 Rubric: link

πŸš€ Improvements

The original WolfLease lacks tons of features, users cannot login and authenticate, frontend and the UI was missing, scalable deployment via docker container...etc

With WolfLease 2.0 we solved all the problems with these improvements

  • We added the authentication feature and make the user able to login and authenticate their profile
  • We added the frontend scripted through angularjs and nginx and connected the frontend and backend with a usable deployment
  • We also contained the application in a docker container and made the application dockerize to scaleup
  • We also added a multiple validations to the application and removed the Unnecessary Fields from Models

βš™οΈ Built with

πŸ›  Installation Guide

  1. Install Docker on your operating system.
  2. Clone the github repository at a preferable location in your system.
git clone https://github.com/divyang02/WolfLease.git
cd WolfLease
  1. Run docker compose up in a new terminal.
  2. Open your browser and go to localhost:8010.
  3. Register a User
  4. Login with your login credentials and enjoy the application.

πŸ”‘ WolfLease Endpoints

Admin page

HTTP Method URL Description
GET http://localhost:8000/admin/ Admin page

Owner

HTTP Method URL Description
POST http://localhost:8000/owners Create new Owner
PUT http://localhost:8000/owners/{ownerId} Update Owner by ID
GET http://localhost:8000/owners Get all Owners
DELETE http://localhost:8000/owners/{ownerId} Delete Owner by ID

Apartment

HTTP Method URL Description
POST http://localhost:8000/apartments Create a new Apartment
PUT http://localhost:8000/apartments/{apartmentID} Update Apartment by ID
GET http://localhost:8000/apartments Get all Apartments
DELETE http://localhost:8000/apartments/{apartmentID} Delete Apartment by ID

Lease

HTTP Method URL Description
POST http://localhost:8000/lease Create a new Lease
PUT http://localhost:8000/lease/{LeaseID} Update Lease by ID
GET http://localhost:8000/lease Get all lease
DELETE http://localhost:8000/lease/{LeaseID} Delete Lease by ID

Flat

HTTP Method URL Description
POST http://localhost:8000/flats Create a new Flat
PUT http://localhost:8000/flats/{flatID} Update Flat by ID
GET http://localhost:8000/flats Get all Flats
DELETE http://localhost:8000/flats/{flatID} Delete Flat by ID

User

HTTP Method URL Description
POST http://localhost:8000/users Create a new User
PUT http://localhost:8000/users/{userID} Update User by ID
GET http://localhost:8000/users Get all Users
DELETE http://localhost:8000/users/{userID} Delete User by ID

Interested

HTTP Method URL Description
POST http://localhost:8000/interests Create a new Interest
PUT http://localhost:8000/interests/{interestID} Update Interest by ID
GET http://localhost:8000/interests Get all Interests
DELETE http://localhost:8000/interests/{interestID} Delete Interest by ID

Searching through Owners, Apartments, Lease, Flats, User Models

HTTP Method URL Description
GET http://localhost:8000/owners?search={email} Search for an Owner with given email
GET http://localhost:8000/owners?search={contact_number} Search for an Owner with given contact number
GET http://localhost:8000/apartments?search={address} Search for Apartments by address
GET http://localhost:8000/apartments?search={facilities} Search for Apartments with different facilities of your choice
GET http://localhost:8000/apartments?search={owner} Search for Apartments by owner
GET http://localhost:8000/lease?search={lease_end_date} Search for Lease by end date
GET http://localhost:8000/lease?search={lease_start_date} Search for Lease by start date
GET http://localhost:8000/flats?search={availabilty} Search for Flats that are available
GET http://localhost:8000/flats?search={rent_per_room} Search for Flats by rent amount
GET http://localhost:8000/users?search={email} Search for an User with given email
GET http://localhost:8000/users?search={contact_number} Search for a User with given contact number

πŸš— New Features Added ...

  • FrontEnd Implementation
  • Docker Integration
  • FrontEnd and BackEnd Connection with Usable Deployment
  • Authentication
  • Removal of Unnecessary Fields from Models
  • Added Validations

❗ TroubleShooting and Help Guide

  1. For any issues faced while using the application, please email the detailed description and steps to reproduce the error at wolflease2@proton.me .
  2. If you are a developer, please raise an issue on github with steps to reproduce and possible source of error.
  3. Our email is monitored 24x7 and we usually respond within 1 hour. Happy Emailing :).

🍰 Contributing

Please contribute using GitHub Flow. Create a branch, add commits, and open a pull request.

Please read CONTRIBUTING for details on our CODE OF CONDUCT, and the process for submitting pull requests to us.

πŸ‘₯ Contributors

Phase 1

Subodh Gujar | Ameya Vaichalkar | Rohan Shiveshwarkar | Kunal Patil | Yash Sonar

Phase 2

Group 46


Divyang Doshi

Priyam Garg


Yash Bhansali


Dev Mehta


Manogna Choudary Potluri

About

Welcome to WolfLease

https://divyang02.github.io/WolfLease/

License:MIT License


Languages

Language:Python 46.7%Language:TypeScript 32.2%Language:HTML 17.6%Language:CSS 1.8%Language:JavaScript 1.1%Language:Dockerfile 0.6%