This web application was build with Next.js:
- MongoDB as our NoSQL database
- ExpressJS as our NodeJS wrapper
- NextJS for our view library
- NodeJS for server-side JS runtime enviroment
Additional libraries used:
- Axios - promise-based http client
- mongoose - Object Document Mapper (ODM) of choice
- Our dependencies and their verison : "@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-slot": "^1.0.2", "axios": "^1.6.8", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "cors": "^2.8.5", "dotenv": "^16.4.5", "embla-carousel-autoplay": "^8.0.0", "embla-carousel-react": "^8.0.0", "express": "^4.19.1", "lucide-react": "^0.363.0", "mongodb": "^6.5.0", "mongoose": "^8.2.3", "next": "^14.1.4", "react": "^18", "react-dom": "^18", "tailwind-merge": "^2.2.2", "tailwindcss-animate": "^1.0.7"
-Link https://drive.google.com/file/d/1u8xPDz9QczgtmbUJBtFOlLZcok3q_Xd1/view?usp=sharing
Docker file included and shoud run simply
-
In your terminal from folder navigate to
/my-app
-
Run this command (Docker and docker-compose must be installed on your machine)
docker-compose up
-
Make sure you have NodeJS installed on your machine
You can check by running
node -v
in your terminal to make sure NodeJS is setup correctly
- Make sure to include .env file in the backend directory
-
In your terminal from folder navigate to
/my-app
-
Install required packages by running
npm i
-
In your terminal from folder navigate to
/my-app
-
Install required packages by running
npm i
-
Spin up the development server using
npm run dev
open your browser at http://localhost:3000
-
In your terminal from folder navigate to
/my-app
-
Install nodemon by running
npm run node_start
It will run on http://localhost:3100
As we use query for all our require(s) from the server we have included screenshots with the included query requirements for all functions referenced
-
/getApartments (get)
-
/createApartment (post)
-
Postman can be used to test the functionality of different API endpoints make sure to attach bearer token if endpoint requires token
-
Any browser can be used to test the functionality of the frontend webpages and web compenents
Mina Shady