Skip to content

mubashirpa/Edumate

Repository files navigation

Edumate

Edumate makes it easy for learners and instructors to connect—inside and outside of schools. It saves time and paper while simplifying class creation, assignment distribution, and communication.

Features

  • Easy Setup – Teachers can add students directly or share a class code for quick onboarding.
  • Paperless Workflow – Teachers can create, review, and grade assignments efficiently in one place.
  • Organized Learning – Students can access assignments and class materials (documents, images, videos) seamlessly.
  • Instant Communication – Teachers can send announcements and initiate class discussions. Students can collaborate and answer questions.

Download the App

Edumate is currently available on the Amazon Appstore.

Get it on Amazon Appstore

Screenshots

App Screenshot App Screenshot

Architecture

Edumate follows a structured architecture inspired by Google Classroom:

  • MVVM (Model-View-ViewModel) – Ensures a clean separation of UI and business logic for maintainability.
  • Clean Architecture – Implements layers to enhance scalability and flexibility.

Getting Started

To run the app locally:

  1. Clone the repository:
    git clone https://github.com/your-repo/Edumate.git
    cd Edumate
  2. Open the project in Android Studio.
  3. Build and run the app on an emulator or physical device.

Environment Variables

This project requires API keys and sensitive information that should not be committed to version control. Ensure you have local.properties and keystore.properties in your project root with the following keys:

  1. local.properties (For API keys)

    ONESIGNAL_APP_ID=your-onesignal-app-id
    SUPABASE_ANON_KEY=your-supabase-anon-key
    SUPABASE_URL=your-supabase-url
  2. keystore.properties (For signing the app)

    storePassword=your-store-password
    keyPassword=your-key-password
    keyAlias=your-key-alias
    storeFile=path-to-your-keystore.jks

Setup Instructions for Developers

Before running the project, create local.properties and keystore.properties manually and add the required values.

Contributing

We welcome contributions! To contribute:

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature-name
  3. Make your changes and commit:
    git commit -m "Add feature-name"
  4. Push to your branch and open a Pull Request.

Support & Contact

For issues or suggestions, feel free to open an issue or start a discussion.

License

This project is licensed under the GNU Affero General Public License v3.0. You can find the full license text in the LICENSE file.

About

Connect with your classes and do assignments on the go.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages