{"id":21410073,"url":"https://github.com/rijoksd/turfspot","last_synced_at":"2025-04-17T01:43:18.329Z","repository":{"id":251643854,"uuid":"833766521","full_name":"RijoKsd/TurfSpot","owner":"RijoKsd","description":"A turf booking app using mern stack","archived":false,"fork":false,"pushed_at":"2024-12-05T04:37:01.000Z","size":6577,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T05:51:17.237Z","etag":null,"topics":["cloudinary","college-project","daisyui","express","final-year-project","fullstack-development","javascript","mern-stack","nodemailer","qrcode-generator","react","react-hook-form","react-router-dom","real-time","responsive","tailwindcss","turf","turf-booking"],"latest_commit_sha":null,"homepage":"https://turf-spot.vercel.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/RijoKsd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2024-07-25T17:47:40.000Z","updated_at":"2025-03-11T09:49:37.000Z","dependencies_parsed_at":"2024-11-22T21:32:04.078Z","dependency_job_id":null,"html_url":"https://github.com/RijoKsd/TurfSpot","commit_stats":null,"previous_names":["rijoksd/turfspot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RijoKsd%2FTurfSpot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RijoKsd%2FTurfSpot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RijoKsd%2FTurfSpot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RijoKsd%2FTurfSpot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RijoKsd","download_url":"https://codeload.github.com/RijoKsd/TurfSpot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249298858,"owners_count":21246716,"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":["cloudinary","college-project","daisyui","express","final-year-project","fullstack-development","javascript","mern-stack","nodemailer","qrcode-generator","react","react-hook-form","react-router-dom","real-time","responsive","tailwindcss","turf","turf-booking"],"created_at":"2024-11-22T17:37:04.947Z","updated_at":"2025-04-17T01:43:18.312Z","avatar_url":"https://github.com/RijoKsd.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TurfSpot\n\nTurfSpot is a comprehensive turf booking application with three modules: Admin, Owner, and User. This app allows users to view and book turf grounds, owners to manage their turfs and bookings, and admins to oversee all activities within the platform.\n\n## Features\n\n### User Module\n\n- **Browse Turfs**: Users can view various turfs, check their details, and select time slots for booking.\n- **Slot Booking**: Purchase time slots using Razorpay. After booking, users receive a confirmation email with all the booking details, including price, turf name, start time, end time, and a QR code containing all these details.\n- **Rate Turfs**: Users can provide ratings for the turfs they have booked.\n- **Become Owner**: Users can apply to become turf owners by filling out a form. Admins will review the application and send an approval or rejection email accordingly.\n\n### Owner Module\n\n- **Turf Management**: Owners can add new turfs, manage their existing turfs, and view all related booking details.\n- **Dashboard**: Owners have access to a dashboard where they can view transactions and booking statistics in a graphical format.\n- **Review Management**: Owners can view and manage reviews left by users for their turfs.\n\n### Admin Module\n\n- **Owner Requests**: Admins can approve or reject requests from users who wish to become owners. If approved, the user will receive an email with a registration link to the owner section.\n- **User and Owner Management**: Admins can view all users and owners registered on the platform.\n- **Turf Management**: Admins can view all turfs listed by owners and manage them as necessary.\n- **Transaction Overview**: Admins have access to all transactions on the platform and can view transaction data on a monthly basis in graph format.\n\n## Technologies Used\n\n- **Frontend**: React, Tailwind CSS, DaisyUI, Redux\n- **Backend**: Node.js, Express.js\n- **Database**: MongoDB\n- **Payments**: Razorpay\n- **Image Hosting**: Cloudinary\n\n\n\n## Installation\n\n1. Clone the repository\n   ```bash\n   git clone https://github.com/RijoKsd/TurfSpot.git\n   ```\n2. Install dependencies for both client and server\n   ```bash\n   cd TurfSpot\n   npm install\n   cd server\n   npm install\n   cd ../client/owner\n   npm install\n   cd ../user\n   npm install\n   ```\n3. Create a `.env` file in the `server` directory and add the following environment variables:\n\n   ```env\n    PORT = your_port\n    MONGO_URI=your_mongo_uri\n\n    CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name\n    CLOUDINARY_API_KEY=your_cloudinary_api_key\n    CLOUDINARY_API_SECRET=your_cloudinary_api_secret\n\n    OWNER_URL = your_owner_url\n    USER_URL = your_user_url\n\n    EMAIL = your_email for sending emails\n    PASSWORD = your_password for sending emails(you will get from app password in google account)\n\n    RAZORPAY_KEY_ID = your_razorpay_key_id\n    RAZORPAY_SECRET_KEY = your_razorpay_secret_key\n   \n    JWT_SECRET = your_jwt_secret\n\n\n   ```\n\n4. Run the application\n\n   ```bash\n   # To run the backend\n   cd server\n   npm run server\n\n   # To run the owner client\n   cd ../client/owner\n   npm run dev\n\n   # To run the user client\n   cd ../user\n   npm run dev\n   ```\n\n## Contributing\n\n1. Fork the repository\n2. Create a new branch (`git checkout -b feature/your-feature`)\n3. Commit your changes (`git commit -m 'Add some feature'`)\n4. Push to the branch (`git push origin feature/your-feature`)\n5. Create a new Pull Request\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Contact\n\nFor any inquiries or questions, please contact us at [rijobdk@gmail.com](mailto:rijobdk@gmail.com).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frijoksd%2Fturfspot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frijoksd%2Fturfspot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frijoksd%2Fturfspot/lists"}