Storizon is an Android application where users can share short stories, similar to a social media platform. Users can optionally include their location in their stories, which will be displayed on an interactive map powered by Google Maps API. The app supports night mode and multiple languages, enhancing user experience. Additionally, it tracks daily login streaks and the word count of stories saved locally using Room Database. Users can register, log in, and manage their accounts seamlessly.
- Features
- Technologies Used
- Architecture
- Getting Started
- App Structure
- Usage
- Contributing
- License
- Contact
- Story Sharing: Share short stories with optional location tagging.
- Interactive Map: View user stories pinned on a map using Google Maps API.
- Daily Login Streaks: Track daily app usage with streak counters.
- Word Count Tracker: Monitor the number of words written in stories.
- Dark Mode: Switch between light and dark themes.
- Multi-Language Support: Choose from multiple languages for a personalized experience.
- User Authentication: Register and log in to manage your account securely.
- Language: Kotlin
- Architecture: MVVM (Model-View-ViewModel)
- Data Binding: LiveData, ViewModel
- Networking: Retrofit
- Local Storage: Room Database
- Map Integration: Google Maps API
- UI Components: RecyclerView, Material Components, View Binding
- Testing: JUnit, Espresso
- Others: AndroidX, Navigation Component, Dark Mode, SharedPreferences
Storizon follows the MVVM (Model-View-ViewModel) architecture pattern for clean separation of concerns, better organization, and ease of testing:
- Model: Handles data operations (e.g., Room Database and API calls).
- View: Displays data on the UI and observes ViewModel changes.
- ViewModel: Acts as a bridge between the View and the Model, managing UI-related data and business logic.
To set up the project locally, follow these steps:
Ensure you have the following installed:
- Android Studio (latest stable version recommended)
- Git (for cloning the repository)
- Google Maps API Key (required for map functionality)
-
Clone the repository:
git clone https://github.com/your-repository/storizon.git
-
Open the project in Android Studio:
- Open Android Studio.
- Select "Open an existing Android Studio project."
- Navigate to the cloned repository and select it.
-
Configure the Google Maps API Key:
- Obtain a key from the Google Cloud Console.
- Add the key to your
local.properties
file:MAPS_API_KEY=your_api_key
-
Build the project:
- Android Studio will automatically build the project.
- If the build does not start automatically, select Build > Make Project from the menu.
-
Run the app:
- Connect an Android device or use an emulator.
- Click the green play button to run the app.
- Home: Displays user stories and provides access to the map view.
- Map View: Shows pins for stories with location tags on an interactive map.
- Profile: Allows users to manage their accounts, toggle dark mode, and change the app language.
- Settings: Provides access to account settings and logout functionality.
- Register/Login: Create an account or log in to access features.
- Share Stories: Post short stories with optional location tags.
- Explore Stories: View stories shared by others on the home page or map view.
- Track Progress: Check your daily login streaks and word count.
- Personalize Settings: Enable dark mode and switch languages.
Contributions are welcome! Follow these steps to contribute:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature
-
Make your changes.
-
Commit your changes:
git commit -m 'Add some feature'
-
Push to the branch:
git push origin feature/your-feature
-
Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Author: Rezky Aditia Fauzan
- Email: [email protected]
- GitHub: https://github.com/zyrridian