Apps you like us to develop in a student projects course?

Hi everyone,

I’ll be giving a software engineering course this fall, and in it I usually provide students with a choice of a project to design, model and then implement following best practices.
Last year, I changed things a bit, by giving the same project to be implement in different platforms (each group a platform, including one for SailfishOS).

I’m thinking for this year to develop one project on one platform (for example SFOS) but with multiple student groups. Mainly, I’ll play the role of a manager, and each team will design/model/develop a part of the project.
This is an undergraduate course (3rd year bachelor degree), so expectations should be realistic. And students never saw C++ or SailfishOS, but they know Javascript and they had courses on Android and iOS.

So, my question: do you have any ideas of an application that I can use as a basis for the course project ?

It can be a client/server project (but keep in mid, they didn’t see yet client/server networking, nor REST APIs).
I’d also like to avoid using too much C++ and keep the UI mostly in QML and JS. We can use databases and queries.
And if you have a proposition, it should be something that isn’t too small that students will finish it in a day, and can be split into separate parts (so each team can develop a part).
I should get 3 to 5 teams depending on the number of students and the team size.

9 Likes

I have a bunch of ideas, but they are all arguably evil :slight_smile:

How much time do they have? Is the inclusion of Python a good idea?

The course itself is 39 hours for in-person teaching, including around 12 hours for lab works (on a computer). I need a quite a bunch of the hours for the course itself, and they’ll spend some time learning then writing the specifications, modeling the database, the software architecture (UML), and the UI mockups.
Though, they can and should work on their own too outside the dedicated hours.
At their level, they didn’t see Python yet.

  • A new, better browser,
    or
  • Native Xorg

Something along these lines perhaps:
https://openrepos.net/content/pisarz1958/glukometr-diabetes-diary

Rewrite, update, or perhaps another type of device…

1 Like
  • An implementation of https://dontwordle.com/
  • An editor compatible with https://jrnl.sh
  • Something around UI-Testing? I didnt find much yet on how to test QML apps, but maybe we could need a framework or a complete guide or something like that?
1 Like

This is a great idea. Maybe a similar vein: https://github.com/amilcarsantos/harbour-sailgirlz menstruation cycle tracker.

I started working on rebuilding: Matrix Calculator | OpenRepos.net — Community Repository System

It has really crappy input interfaces (tables via canvas!). But has a nice graphing function. A graphing calcuator, please! I was thinking of porting the graphing functions from matrix to Babbage calculator.

But that’s pretty standard issue boring, could be done in pure QML/JS

I also wanted to build an app for the plantnet api: https://my.plantnet.org/ and ditto on easy to do with just QML/JS.

2 Likes

A framework for sandboxing websites using Silica Webview?

Err, more than Sailjail?

How about a port of https://github.com/mateosalta/DeadAscend (also pure QML/JS)

A client for something like IMDB/TVDB, Discogs or similar?
I.e. Something with a public API that you want to present nicely in an SFOS app?

No not more than Saljail, but Sailjail+Webview+QML UI, so all the Browser stuff lives in a separate .mozilla profile.

That’s cool. And python.

Ok, but, I have WebView apps (moremahjong for instance) that are exactly that. The .mozilla file is at:
.cache/de.poetaster/harbour-moremahjong/.mozilla/

I do have worries about network access since we have CORS work-a-rounds.

I just checked. All my webview apps have isolated profiles.

A journalctl viewer with some options to save specific units. See Easily catch logs

2 Likes

I know. That’s the point.

I want separate profiles for e.g. Twitter, GMail, … to minimize cross-site tracking.
And to add UI elements specific to that website.

I did something like this in FratzenJail albeit badly like most of my apps :slight_smile:

I don’t get it. You mean, like private tabs in the default browser?

A webview + sailjail IS a completely isolated app with NO cross site tracking. And building those is pretty easy?

The default browser, with private tabs isolates the cookie jar and sql based caches.

I don’t use any ‘apps’ that can track me ‘personally’ on my phone (other than those that get past my hosts + privoxy setup) so I guess I’m uncertain what it might mean. Other than the direction that mozilla is already going?

But really don’t use any services I don’t control person where my phone is concerned. I avoid any kind of login to a third party.

Or maybe you mean something like Browser support for PWAs? The more of the spec I’ve read, the less I like it.

How about a client for All Events in City API | Developers Resource
That would be actually something usefull - but maybe too much for the beginning.

I stumbled upon BirdNet today (via Hackaday) and that would make a cool Sailfish app that we don’t have yet. There are Android and iOS apps for it already. I have not had a proper look myself yet how easy or difficult that network would be to get running on Sailfish but if there is some machine learning background and Python experience, then it might be doable. Surely it’s not an easy project.

1 Like