Skip to content

DonnC-Lab/mini_campus

Repository files navigation

MiniCampus 🎓

MiniCampus - A virtual campus app, with 💙 for students 👨‍🎓👩‍🎓

About

MiniCampus, MC - thrives to be the go to student app for both freshers and existing students on campus. It comes equipped with the tools and services to make life easy for a student.

  • It comprises of modules as mono-repos, that each act as a standalone application serving a single purpose

Add new package

Adding a new package or mono repo is powered by VGV mason_cli

Dart package

On the root folder, run

$ mason make very_good_dart_package --project_name "<package_name>" --description "<package description>." -o packages 

Flutter package

On the root folder, run

$ cd packages
$ mason make very_good_flutter_package

Showcase

Checkout the development progress under releases for demo builds

coming soon

Getting Started

This project is built using Flutter, for a getting started, checkout flutter.dev

After successful setup of your local flutter environment, fork this repository and run the following commands in the root folder

Commands

This project is powered by melos

All scripts and commands are available via melos. For IDE Support install the melos extension

Use the melos scripts to run commands

For local development, it is recommended to use dev flavor mode and firebase local emulator

Firebase Setup

Requires flutterfire_cli to be installed

To setup firebase services with flavors using FlutterFire CLI more use the melos script > setup-firebase-emulator to setup firebase cli for development mode

Please note the app id is per the one setup in pubspec following flutter_flavor convention

Running with Flavor

Flavors have been configured for vscode but for Android Studio check here

Currently MC is tested against Android devices only. It might work on iOS but this has not been tested yet, help us archive this goal 🙏

# run dev mode with flavor
$ flutter run --flavor dev -t lib/main_dev.dart

For interactive long conversations around issues, new developments, announcements and progress etc, make use of our discussions 💡 here

Modules

MC is broken down into modules (packages), each, which serve a single purpose, they act as single mini apps within the MC framework.

It comes with the following core modules and counting 😎

  1. Campus Market
  2. Learning
  3. Lost & Found
  4. Feedback
  5. Notifications

5.1 General push notifications

MC comes with default fcm push notifications, each student on successful register automatically subscribe to the following topics:

  1. all - for all push notifications
  2. gender - based on student gender males | females
  3. department - based on student department, using dept-code
  4. faculty - based per faculty
  5. year - based on enrollment year e.g part 1, part 4

These aim to tackle communication issues on campus to enhance announcement delivery e.g

When we want to notify all students about the opening of Payment Plans on Campus Admin

Important message from the clinic about counselling services

Broadcast announcement to all girl child about Women in Engineering event


Built With

MC strives to take advantage the available open source & free* tools

This is because MC is made by students for students

  1. Flutter Dart
  2. Firebase services
  3. Deta services here - for persistence free storage and nosql db
  4. Python, Fast Api server - for interfacing with deta

Contributing

We love contributions, no contribution is small or big, every bit of it is welcome here be it technical or non-technical including suggestions, documentations and typos etc

To learn more about the different ways you can contribute to MC, see the CONTRIBUTING guide

Authors

  • DonnC Lab - Initial work - DonnC
  • Traders Incubator - Initial work - Dont Delete

See also the list of awesome contributors who participated in this project.

License

This project is licensed under the Apache License - see the LICENSE file for details

Acknowledgements

  • StackOverflow - what can we do without it
  • Dont Delete - for providing early feedback on technical tests and module ideation
  • FlutterDevZW community
  • a lot more

Onboarding attributes

Place the attribution on the app's credits page and on the description page on the app store.

Community

coming soon