{"id":19297648,"url":"https://github.com/guuri11/fullcourtfiesta","last_synced_at":"2026-05-07T19:10:09.692Z","repository":{"id":218579299,"uuid":"737268762","full_name":"Guuri11/FullCourtFiesta","owner":"Guuri11","description":"FullCourtFiesta is a React Native Expo application, serving as a basketball social network where users can connect, chat, create posts, and discover nearby basketball courts based on their location. It's a personal project in the MVP phase, built with a hexagonal architecture, providing flexibility to switch between backend frameworks","archived":false,"fork":false,"pushed_at":"2024-01-22T17:53:05.000Z","size":6273,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T01:12:18.956Z","etag":null,"topics":["basketball","expo","hexagonal-architecture","react-native"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Guuri11.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-30T12:17:04.000Z","updated_at":"2024-01-22T17:33:00.000Z","dependencies_parsed_at":"2024-01-22T22:55:42.007Z","dependency_job_id":null,"html_url":"https://github.com/Guuri11/FullCourtFiesta","commit_stats":null,"previous_names":["guuri11/fullcourtfiesta"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Guuri11/FullCourtFiesta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guuri11%2FFullCourtFiesta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guuri11%2FFullCourtFiesta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guuri11%2FFullCourtFiesta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guuri11%2FFullCourtFiesta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Guuri11","download_url":"https://codeload.github.com/Guuri11/FullCourtFiesta/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guuri11%2FFullCourtFiesta/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32751943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["basketball","expo","hexagonal-architecture","react-native"],"created_at":"2024-11-09T23:05:34.360Z","updated_at":"2026-05-07T19:10:09.670Z","avatar_url":"https://github.com/Guuri11.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FullCourtFiesta 🏀🎉\n\nFullCourtFiesta is a React Native Expo application, serving as a basketball social network where users can connect, chat, create posts, and discover nearby basketball courts based on their location. It's a personal project in the MVP phase, built with a hexagonal architecture, providing flexibility to switch between backend frameworks—currently powered by Supabase with future plans to explore alternatives like Spring Boot.\n\n‼️👀 This is currently a MVP so a lot of futures are not mature enough or developed, I just focused on built the basics for the app so I can use it to focus on my backend projects\n\n## Key Features 🌟\n\n- **Customized Profile:** Create your profile, add information about your basketball skills, and share your achievements.\n\n- **Social Connection:** Find and connect with other basketball enthusiasts. Expand your network!\n\n- **Real-time Chat:** Chat with other users in real-time. Organize games, share tips, or just have fun.\n\n- **Content Posting:** Share your basketball-related experiences, photos, and videos. Inspire others and be part of the community.\n\n- **Court Locator:** Discover nearby basketball courts based on your current location.\n\n## Hexagonal Architecture 🔄\n\nFullCourtFiesta is built using a hexagonal architecture to ensure flexibility in choosing the backend. It currently integrates with [Supabase](https://supabase.io/), but you can easily experiment with other backend frameworks like Spring Boot.\n\n## Prerequisites 🛠️\n\n- Node.js and npm\n- Expo CLI\n\n## Installation 🚀\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/Guuri11/FullCourtFiesta\ncd FullCourtFiesta\n```\n\n2. Install dependencies:\n\n```bash\nnpm install\n```\n\n3. Start the application:\n\n```bash\nnpx expo start\n```\n\n4. Scan the QR code with the Expo Go app on your mobile device.\n\n## Backend Configuration 🔧\n\nIf you wish to switch the backend, follow these steps:\n\nGo to `src/infrastructure` folder and create the repository for that will connect with your specific backend. Then go to `src/ui/store/app/index.ts` and add the repository like others\n\n## Architecture Overview 🏛️\n\nThe Hexagonal Architecture structured is inspired on this video from CodelyTV \nhttps://www.youtube.com/watch?v=eNFAJbWCSww\u0026t=203s\u0026pp=ygUdaGV4YWdvbmFsIHR5cGVzY3JpcHQgY29kZWx5dHY%3D\n\nThe FullCourtFiesta application follows a modular hexagonal architecture, emphasizing separation of concerns and flexibility. \nThe project structure is organized into the following main directories:\n\n- **assets:** Contains assets such as Lottie animations.\n\n- **src:**\n  - **application:** Business logic layer containing application services.\n  \n  - **domain:** Defines the core domain entities and aggregates:\n    - **Authentication**\n    - **Court**\n    - **Event**\n    - **Friendship**\n    - **Message**\n    - **Player**\n    - **Post**\n  \n  - **infrastructure:** Infrastructure and configuration details:\n    - **config:** Configuration settings for the application.\n    - **locales/resources:** Localization resources for multilingual support.\n    - **persistance/repositories:** Data repositories for different domain entities:\n      - **Authentication**\n      - **Court**\n      - **Chat**\n      - **Friendship**\n      - **Player**\n      - **Post**\n  \n  - **types:** Shared type definitions used across the application.\n  \n  - **ui:** User Interface components and layout-related modules:\n    - **components/core:** Core reusable UI components.\n    - **design/common:** Common design elements like Chat and Form components.\n    - **design/layout/Notifications:** Notification-related layout components.\n    - **router:** Navigation logic organized by application sections:\n      - **Authentication/OnBoarding**\n      - **Community**\n      - **Home**\n      - **Profile**\n      - **Search**\n  \n  - **constants:** Application-wide constants.\n  \n  - **context:** Context providers for state management.\n  \n  - **hooks/store:** Custom hooks for state management.\n  \n  - **stores:** Application state stores for various concerns:\n    - **app/authentication**\n    - **app/authorization**\n    - **app/location**\n    - **app/ui**\n    \n  - **interfaces:** Interfaces used throughout the application.\n\nThis structure facilitates maintainability, testability, and future adaptability by separating concerns at both the domain and infrastructure levels.\n\n\n## Some Screenshots 📸\n\n\u003cimg src=\"https://github.com/Guuri11/FullCourtFiesta/assets/48799796/f26f8f56-a3cc-41c9-8c46-7c3d9d599206\" alt=\"Screenshot 1\" width=\"300\" /\u003e\n\u003cimg src=\"https://github.com/Guuri11/FullCourtFiesta/assets/48799796/f05d8803-e46c-49b2-bb69-a2a0ac3c8db1\" alt=\"Screenshot 2\" width=\"300\" /\u003e\n\u003cimg src=\"https://github.com/Guuri11/FullCourtFiesta/assets/48799796/88fbdc59-a947-4766-a605-32e981909259\" alt=\"Screenshot 3\" width=\"300\" /\u003e\n\n\n\n## License 📝\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguuri11%2Ffullcourtfiesta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguuri11%2Ffullcourtfiesta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguuri11%2Ffullcourtfiesta/lists"}