Hashi is a full-fledged social media app built with Flutter, designed to foster connections and create a vibrant online community. We're in active development, constantly striving to improve the user experience and warmly welcome contributions from talented developers!
- User Authentication: Secure login and registration system.
- Profiles: Create a personalized profile with a captivating bio, photos, and essential details.
- News Feed: Keep up with the latest posts, updates, and photos from people you follow.
- Post Creation: Users can create, edit, and delete posts.
- Comments & Likes: Interactive posts with comments and likes.
- Nearby Network: Discover and connect with users near you, powered by the Flutter Maps package.
- Messaging: Send direct messages to your friends and chat privately.
- Photo Sharing: Capture and share life's moments with stunning photos.
- Push Notifications: Stay informed with timely updates about your social circle.
- Group Chats: Foster larger social interactions with group messaging capabilities.
- Real-time Notifications: Stay updated with real-time notifications.
- Explore More: We're actively brainstorming exciting features based on user feedback!
- Framework: Flutter
- State Management: Provider
- UI Design: Custom Widgets, Material Design
- Framework: Dart Frog
- Database: MySQL
- ORM: Prisma
- Containerization: Docker
- APIs: RESTful APIs for interaction between frontend and backend
- Flutter SDK
- Dart SDK
- Docker
- MySQL
-
Clone the repository:
git clone https://github.com/aluffyy/Hashi.git
-
Backend Setup:
- Navigate to the backend directory:
cd hashi_backend
- Build and start Docker containers:
docker-compose up --build
- Run Prisma migrations:
npx prisma migrate dev
- Navigate to the backend directory:
-
Frontend Setup:
- Navigate to the frontend directory:
cd hashi_frontend
- Get Flutter dependencies:
flutter pub get
- Run the app:
flutter run
- Navigate to the frontend directory:
We encourage you to participate in the evolution of Hashi! Here's how you can join the adventure:
-
Forking the Repository:
- Visit the Hashi repository on GitHub and click the "Fork" button in the top-right corner.
- Alternatively, use the git command:
git clone --depth=1 https://github.com/aluffyy/Hashi.git
-
Cloning Your Fork:
- Open your terminal or command prompt.
- Navigate to your desired local directory and run:
git clone https://github.com/<your-username>/Hashi.git
-
Creating a Branch:
- Create a new branch from the
master
branch:git checkout -b <your_branch_name>
- Create a new branch from the
-
Making Your Changes:
- Open your preferred code editor and navigate to the cloned Hashi project directory.
- Implement your code changes and modifications.
- Thoroughly test your changes to ensure they don't introduce any regressions.
-
Committing Your Work:
- Stage your changes:
git add <changed_files>
- Commit with a clear message:
git commit -m "<your_commit_message>"
- Stage your changes:
-
Pushing to Your Fork:
- Push your changes to your forked repository:
git push origin <your_branch_name>
- Push your changes to your forked repository:
-
Creating a Pull Request:
- Visit your forked repository on GitHub.
- Click on "Pull requests" and then "New pull request."
- Select your branch containing your changes.
- Compare your branch with the upstream repository's
master
branch. - Provide a detailed pull request description explaining your modifications.
- Submit your pull request for review.
Feel free to reach out with any questions, suggestions, or feedback:
- Email: muustaakiimm@gmail.com
- Telegram: t.me/aluffyyy
- Project Issues: GitHub Issues
This project is licensed under the MIT License - see the LICENSE file for details.