An apartment rental application which allows property owners and proposed tenants to transact efficiently.
- 💥 Node
- 🔥 Express
- ⚡ Vue.js
- ✨ Vuetify
- 🐘 PostgreSQL
- Material UI with Vuetify
- Image upload and storage with cloudinary
- Sending promotional mails to customers with cron jobs
- Search for apartments based on location, budget and type.
- Submit listings of apartments to be leased
- A fully functional admin dashboard
Here are the steps you need to follow to set up this project on your local machine.
- Clone this repo by running
git clone https://github.com/georgeben/Move-In
cd
into the cloned repo, thencd
into theserver
folder.- Create a new PostgreSQL database
- Create a .env file and input the datails for connecting to your database namely PGUSER( database user), PGPASSWORD (database user password), PGDATABASE (Name of the database), PGHOST (localhost), PGPORT (connection port) or you can manually input these env variables into your terminal.
- After your databse is set up. Run
npm install
to install all the dependencies. - Run
npm run db:create
to create the database tables - Start the server with
npm run start
and the server sjould be live on localhost:3000. ⚡ - Open another terminal window and
cd
into the client folder. - Run
npm install
to install all dependencies. - Run
npm run serve
to start the dev server. - View the vue app on localhost:8080. 🎉
- Create a cloudinary account here
- Add your CLOUD_NAME, API_KEY and API_SECRET to your .env file.
- When images have been uploaded, log into your cloudinary dashboard to view them. 🎉
The application uses gmail to send emails. To set up the mailer,
- Add your gmail email and password to your .env file
- Tweak the node cron scheduler to schedule intervals at the time you prefer 🎉
Contributions are welcome. Feel free to send in your pull requests.