Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/7ossam7atem1/deyarak

Your Dream Home Awaits!
https://github.com/7ossam7atem1/deyarak

Last synced: 14 days ago
JSON representation

Your Dream Home Awaits!

Awesome Lists containing this project

README

        

# Deyarak

Deyarak (My graduation Project) is a Node.js webserver designed for the real estate industry, facilitating the renting of properties directly between owners and renters.



## Authors

- [@Hossam Hatem](https://github.com/7ossam7atem1)

## License

[MIT](https://choosealicense.com/licenses/mit/)
[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)

## Tech Stack

- Node.js (Runtime environment)
- JavaScript (Development language)
- MVC (Design pattern)
- Express.js (Backend framework)
- JWT (Authentication)
- bcryptjs (Password hashing)
- MongoDB (Database management system)
- Cloudinairy (Image storage)
- Sendgrid (Email notifications)
- Mailtrap (Testing email service in Development)
- Stripe (Payment service)
- Swagger (APIs documentation)
- Jasmine.js , supertest (Testing)

## Architecture Overview

![App Screenshot](https://res.cloudinary.com/dptpklbgm/image/upload/v1720922994/logos/tfirzwtlkvn9creaqmzd.jpg)

## Environment Variables

To run this project, you will need to add the following environment variables to your .env file

`NODE_ENV`

`PORT`

`DATABASE`

`DATABASE_PASSWORD`

`JWT_SECRET`

`JWT_EXPIRES_IN`

`JWT_COOKIE_EXPIRES_IN`

`EMAIL_USERNAME`

`EMAIL_PASSWORD`

`EMAIL_HOST`

`EMAIL_PORT`

`EMAIL_FROM`

`SENDGRID_USERNAME`

`SENDGRID_PASSWORD`

`STRIPE_SECRET_KEY`

`CLOUD_NAME`

`CLOUD_API_KEY`

`CLOUD_API_SECRET`
## setup & installation

- Clone the Repository:

```bash
git clone https://github.com/7ossam7atem1/Deyarak.git
cd Deyarak
```

- Install Dependencies
```bash
npm install
```
- run server
```bash
npm start
```
## Running Tests

To run tests, run the following command

```bash
npx jasmine
```

## Deployment

To run this project in production env run

```bash
npm run start:prod
```

- Render for Deployment

![App Screenshot](https://res.cloudinary.com/dptpklbgm/image/upload/v1720923848/logos/a3nsvefdhej2deyx5dsh.jpg)

## Acknowledgements

- Supervised by: Prof/Dr.Mahmoud Hussien

## API Reference

https://deyarak-app.onrender.com/api-docs/