Ever found yourself in a situation where you needed to relocate to a new place, and the idea of doing a house search was not so thrilling?
Perhaps you are an agent looking to let the world know what you have got to offer, or a tenant looking to cut rent costs, have companionship, etc, and need a roommate. In any case, we have got you covered.
Latent is a web service that is intended to meet these needs by basically connecting people looking for housing accommodation with those offering them.
This service aims to make it easier for users to find accommodation, and for landlords and agents to advertise them.
The following highlights some of the features of Latent:
From house location to price ranges, the search options are varied, allowing you to more likely find just what you are looking for.
See what you like? We provide an easy way to inform the agent, or roommate, of your interest, and get the both parties together.
Looking for an agent with a good service-delivery track record? Your decision-making process can be made easier by viewing agent ratings.
As a registered agent, you can post house listings and they will appear in searches whose filters match the house attributes (e.g. location and amenities like water).
Looking to cut rent costs? Feeling lonely and in need of a companion? You can put your currently rented apartment up to be shared.
Having had some experience with the LEMP
(Linux, Nginx, MySQL, and Python) stack, the team decided to try out the MERN
stack.
M
: MongoDB was used as the main databaseE
: Express provided the web frameworkR
: React was used in the frontendN
: Nodejs was the language spoken at the backend
Setup is easy. To start the project:
- clone the project repo:
git clone https://github.com/Scaarif/Latent
- cd into the root of the cloned repo directory
cd Latent/
- run setup
./setup.sh
The backend exposes the following RESTful APIs to the frontend to provide business logic and database communication:
/api/v1/login
POST
: creates a login session for a user
/api/v1/logout
POST
: clears a user's login session
/api/v1/users?userId=<>
POST
: creates a new userPUT
: updates a user's profile informationGET
: returns a user's dataDELETE
: removes a user's account and associated data from the database
/api/v1/reset-password
PUT
: handles changing of passwords, and resetting of forgotten ones
/api/v1/houses
POST
: creates a new house listingPUT
: updates a house listing's dataGET
: returns all house objects linked to an agent, or any query string parametersDELETE
: removes an agent's house listing
/api/v1/agents/:agentId
GET
: returns an agent's data without contact information
/api/v1/appointments/:houseId
POST
: establishes a user's interest in a house listing
A Software Engineer who loves making secure and efficient software solutions to everyday problems
A full stack developer with a knack for problem-solving and a passion for creating robust and user-friendly applications
A software engineer living the dream - thinking, dreaming, conceptualizing and building - it doesn't get any better than that!
Greenbel is a software engineer who loves eating problems for breakfast, lunch and dinner. He is interested in logic, systems, efficiency and seeing things work, generally.
- Holberton School staff and mentors, for their support and guidance through the course of the rigorous program
- Maerteen Van Middelaar, for his invaluable insights, being a software engineer of over 20 years
- All Holberton School students of cohort 8 for their network of support
- YOU, for taking the time to go through this documentation
Image by wuttichai1983 on Freepik
MIT License