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.
- 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)
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
- Clone the Repository:
git clone https://github.com/7ossam7atem1/Deyarak.git
cd Deyarak
- Install Dependencies
npm install
- run server
npm start
To run tests, run the following command
npx jasmine
To run this project in production env run
npm run start:prod
- Render for Deployment
- Supervised by: Prof/Dr.Mahmoud Hussien