Welcome to the Student Planner App, a Flutter-based mobile application designed to help students manage their academic tasks, schedules, and more.
This project is part of Hacktoberfest 2025, specifically created for students who are new to coding and open-source contributions.
The app is beginner-friendly, with a clean UI and plenty of simple issues to get you started!
The Student Planner App is a mobile application built with Flutter to assist students in organizing their academic life.
It includes the following features:
- Home Screen: Displays a greeting, upcoming classes, quick stats (e.g., classes today, assignments due), and upcoming tasks.
- Assignments Screen: Lists assignments with filtering options (All, Pending, Completed) and a button to add new tasks.
- Timetable Screen: Shows a daily class schedule with a day selector (Mon–Sun).
- More Screen: Provides access to additional tools like GPA calculator, study timer, and settings.
This repository is designed for Hacktoberfest, with beginner-friendly issues that teach Flutter basics such as adding UI elements, managing state, or writing documentation.
Whether you're new to coding or Flutter, this is a great place to make your first open-source contribution!
Follow these steps to set up the project locally and start contributing.
Before you begin, ensure you have the following installed:
- Flutter SDK (version 3.0 or higher): Install Flutter
- Dart: Comes bundled with Flutter.
- Code Editor: We recommend Visual Studio Code with Flutter and Dart extensions.
- Git: For cloning the repository and submitting pull requests. Install Git
- Emulator or Device: A mobile emulator (Android/iOS) or physical device for testing.
git clone https://github.com/<your-username>/student-planner-app.git
cd student-planner-appRun the following command to install the required Flutter packages:
flutter pub getEnsure an emulator is running or a physical device is connected. Run the app with:
flutter runThe app will launch on your emulator or device.
You should see the app's home screen with a greeting, next class card, and navigation bar. Navigate through the Home, Timetable, Assignments, and More screens to explore the app.
If you encounter errors, ensure your Flutter environment is set up correctly by running:
flutter doctorFix any issues reported by flutter doctor (e.g., missing Android SDK, emulator setup). Reach out in the repository’s Issues section for help.
We welcome contributions from everyone, especially beginners! Follow these steps to find an issue, solve it, and submit your first pull request (PR).
-
Go to the Issues tab in the repository.
-
Look for issues labeled hacktoberfest, good-first-issue, or beginner - these are designed for newcomers.
Read the issue description carefully to understand the task, expected outcome, and steps.
Comment on the issue to let maintainers know you’re working on it (e.g., "I'd like to work on this!").
Create a Branch
git checkout -b <your-branch-name>- Use a descriptive branch name, e.g., add-loading-indicator or fix-see-all-button.
Make Changes
-
Open the project in your code editor (e.g., VS Code).
-
Work on the specific file(s) mentioned in the issue (e.g., lib/assignments_screen.dart).
-
Follow the issue’s instructions.
-
Test your changes by running flutter run to ensure everything works.
Commit Your Changes
git add .
git commit -m "Fix #<issue-number>: <brief description of changes>"Example:
git commit -m "Fix #5: Added loading indicator to AssignmentsScreen"Push Your Branch
git push origin <your-branch-name>-
Go to the repository on GitHub.
-
You’ll see a prompt to create a pull request for your recently pushed branch.
-
Click Compare & pull request.
-
Fill out the PR template:
-
Title: Reference the issue (e.g., Fix #5: Add Loading Indicator to Assignments Screen).
-
Description: Explain what you did, how you tested it, and any challenges faced.
-
Link the issue using Closes #.
-
-
Submit the PR and wait for feedback from maintainers.
-
Respond to review comments and make any requested changes.
-
Keep Changes Small: Focus on one issue per PR.
-
Follow Code Style: Match existing Flutter code conventions (e.g., 2-space indentation).
-
Test Your Changes: Run the app to confirm nothing breaks.
-
Ask for Help: If you’re stuck, comment on the issue or post in the Discussions tab.
-
Learn Flutter and Dart while building a real-world app.
-
Gain experience with Git and open-source workflows.
-
Earn a Hacktoberfest badge by completing valid pull requests.
-
Join a community of learners and have fun coding!
-
Check the Flutter Documentation for widget and Dart references.
-
Ask questions in the Issues or Discussions sections.
-
Reach out to maintainers for guidance on setup or specific issues.