{"id":27245592,"url":"https://github.com/md-dipu/birdseye","last_synced_at":"2025-04-10T21:28:31.663Z","repository":{"id":114034813,"uuid":"438564340","full_name":"Md-Dipu/birdseye","owner":"Md-Dipu","description":"Tourism related website","archived":false,"fork":false,"pushed_at":"2025-03-23T07:10:10.000Z","size":2493,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T07:29:09.408Z","etag":null,"topics":["express","firebase","javascript","jsx","mern-stack","mongodb","node-js","nodejs","react","reactjs","tourism-website"],"latest_commit_sha":null,"homepage":"https://birdseye-travel-planner.web.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Md-Dipu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-15T09:09:25.000Z","updated_at":"2025-03-23T07:10:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"da8b4ff0-93f5-4666-adbd-328a520beb33","html_url":"https://github.com/Md-Dipu/birdseye","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Md-Dipu%2Fbirdseye","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Md-Dipu%2Fbirdseye/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Md-Dipu%2Fbirdseye/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Md-Dipu%2Fbirdseye/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Md-Dipu","download_url":"https://codeload.github.com/Md-Dipu/birdseye/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248300725,"owners_count":21080769,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","firebase","javascript","jsx","mern-stack","mongodb","node-js","nodejs","react","reactjs","tourism-website"],"created_at":"2025-04-10T21:28:31.145Z","updated_at":"2025-04-10T21:28:31.644Z","avatar_url":"https://github.com/Md-Dipu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Birdseye: Tourism related website\n\n![GitHub version](https://img.shields.io/github/package-json/v/Md-Dipu/birdseye)\n![GitHub license](https://img.shields.io/github/license/Md-Dipu/birdseye)\n\nBirdseye is a tourism website. It is built using the popular MERN Stack technologies. This demo website is a full-stack website. It is built for the purpose of learning `React`, `Node.js`, `MongoDB`, and other tools and development packages.\n\n### Live Demo\n\nThis project is deployed using the Firebase hosting service. To visit the demo [Click here](https://birdseye-travel-planner.web.app) or manually visit the URL https://birdseye-travel-planner.web.app.\n\n#### Demo Accounts\n\n| Role | Email | Password |\n| ------ | ------ | ------ |\n| Admin | admin@birdseye.com | Admin1234# |\n| Manager | manager@birdseye.com | Manager1234# |\n| User | demo@birdseye.com | Demo1234# |\n\n\u003e **Note:** The website may be slow because of the free hosting server.\n\n## Features\n\n- Responsive webpages\n- Authentication and Authorization\n- File hosting\n- REST API\n- Database management\n- Sorting and search plans\n- Add new plans (Admin only)\n- Editing plan details (Admin only)\n- Make bookings\n- Booking management\n- User role management\n\nThis website is a fully responsive application. Attempts have been made to implement all basic concepts/services.\n\n## Tech\n\nThis project uses a number of open-source projects/packages to work properly:\n\n### _Frontend_\n- [Axios](https://axios-http.com/) - Promise based HTTP client for the browser and Node.js.\n- [Bootstrap](https://getbootstrap.com/) - Bootstrap is a powerful, feature-packed frontend toolkit.\n- [Firebase](https://firebase.google.com/) - Firebase is an app development platform that helps to build apps and games.\n- [React](https://reactjs.org/) - A JavaScript library for building user interfaces.\n- [React-bootstrap](https://react-bootstrap.github.io/) - The most popular front-end framework.\n- [React-hook-form](https://react-hook-form.com/) - Performant, flexible and extensible forms with easy-to-use validation.\n- [React-router](https://reactrouter.com/) - React Router is a standard library for routing in React.\n\n### _Backend_\n- [Colors](https://github.com/Marak/colors.js) - Get colors in your Node.js console.\n- [CORS](https://github.com/expressjs/cors#readme) - Node.js CORS middleware.\n- [Dotenv](https://github.com/motdotla/dotenv#readme) - Loads environment variables from .env for Node.js projects.\n- [Express](https://expressjs.com/) - Fast, unopinionated, minimalist web framework for Node.js.\n- [Firebase-admin](https://www.npmjs.com/package/firebase-admin) - Firebase Admin Node.js SDK.\n- [MongoDB](https://www.npmjs.com/package/mongodb) - MongoDB Node.js Driver.\n- [Validator](https://github.com/validatorjs/validator.js) - A library of string validators and sanitizers.\n\n## Installation and Development\n\n### Installation Steps\n\nFirst, clone the repository:\n\n```sh\ngit clone https://github.com/Md-Dipu/birdseye.git\ncd birdseye\n```\n\nEnsure you are using the correct Node.js version:\n\n```sh\nnvm use\n```\n\nIf the required Node.js version is not installed, use:\n\n```sh\nnvm install\n```\n\nInstall the dependencies:\n\n```sh\nnpm install\n```\n\n#### _Frontend_\n\nOptionally, you can install dependencies for the `client`:\n\n```sh\ncd client\nnpm install\n```\n\n#### _Backend_\n\nOptionally, you can install dependencies for the `server`:\n\n```sh\ncd server\nnpm install\n```\n\n### Environment Variables\n\nBefore starting, the servers must set up some environment variables on both the `birdseye/client` and `birdseye/server`.\n\n#### _Frontend_\n\nEnter all variables in the `client/.env.local` file.\n\n| Variables | Description |\n| ------ | ------ |\n| REACT_APP_FIREBASE_APIKEY | Firebase API key |\n| REACT_APP_FIREBASE_AUTHDOMAIN | Firebase auth domain |\n| REACT_APP_FIREBASE_PROJECTID | Firebase project ID |\n| REACT_APP_FIREBASE_STORAGEBUCKET | Firebase storage bucket |\n| REACT_APP_FIREBASE_MESSAGINGSENDERID | Firebase messaging sender ID |\n| REACT_APP_FIREBASE_APPID | Firebase APP ID |\n| REACT_APP_SERVER_BACKEND_API_URL | Server side URL of Birdseye |\n\n#### _Backend_\n\nEnter all variables in the `server/.env` file.\n\n| Variables | Description |\n| ------ | ------ |\n| PORT | Port number for local |\n| LOCAL_URI | MongoDB URI for local |\n| DEV_URI | MongoDB URI for development |\n| PRODUCTION_URI | MongoDB URI for production |\n| FIREBASE_SERVICE_ACCOUNT_INFO | Firebase service account information |\n\n### Start Development\n\nAfter setting up the environment variables for both the client and server side, start the development server:\n\n```sh\nnpm start\n```\n\n#### _Frontend_\n\nTo start the frontend server, change to the `client` directory and use the following command:\n\n```sh\ncd client\nnpm start\n```\n\nOther available scripts are:\n\n- `npm run build` - Builds the app for production.\n- `npm run test` - Runs the test watcher in an interactive mode.\n- `npm run eject` - Removes the single build dependency from your project.\n\n#### _Backend_\n\nTo start the backend server, change to the `server` directory and use one of the following commands based on the environment:\n\n```sh\ncd server\nnpm run start-local\n```\n\nOther available scripts are:\n\n- `npm start` - Starts the server in production mode.\n- `npm run start-local` - Starts the server in local mode.\n- `npm run start-dev` - Starts the server in development mode with nodemon.\n\n## Contributing\n\nWe welcome contributions to Birdseye! If you have suggestions for improvements or have found a bug, please open an issue or submit a pull request. Here are some basic guidelines to follow:\n\n1. **Fork the repository**: Create a personal fork of the project on GitHub.\n2. **Clone your fork**: Clone your forked repository to your local machine.\n3. **Create a branch**: Create a new branch for your changes.\n4. **Make changes**: Make your changes in the new branch.\n5. **Commit changes**: Commit your changes with a clear and concise commit message.\n6. **Push to GitHub**: Push your changes to your forked repository on GitHub.\n7. **Submit a pull request**: Open a pull request to merge your changes into the main repository.\n\nPlease ensure your code follows the project's coding standards and includes appropriate tests.\n\n**Thank you!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmd-dipu%2Fbirdseye","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmd-dipu%2Fbirdseye","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmd-dipu%2Fbirdseye/lists"}