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 cdinto the cloned repo, thencdinto theserverfolder.- 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 installto install all the dependencies. - Run
npm run db:createto create the database tables - Start the server with
npm run startand the server sjould be live on localhost:3000. ⚡ - Open another terminal window and
cdinto the client folder. - Run
npm installto install all dependencies. - Run
npm run serveto 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.
