Final Project Rubric

Created Friday 06 March 2026


For your final project in the course, you will select a (likely Linux based )service - theoretically reachable from the web-- and attempt to implement it, documenting your progress well along the way. You have a pretty broad range of choices here, consider the below:



Examples:

A short list of examples might be:
- A file synchronization service (e.g. Syncthing or Nextcloud as a Dropbox replacement)
- A music server (e.g. Funkwhale or MPD as a Spotify replacement)
- A media server (e.g. Plex or Jellyfin as a Netflix replacement)
- A voice controlled assistant (e.g. Mycroft or json2voice as a Siri/Alexa replacement)
- Self Hosted AI ?( e.g. LLama or Vicuna or Stable Diffusion as a ChatGPT replacement)


You are by no means llmited to the choices here.


https://github.com/awesome-selfhosted/awesome-selfhosted
https://www.reddit.com/r/selfhosted/


IMPORTANT: The PRIMARY goal is to work on something that you or someone you know personally might ACTUALLY use regularly.
Resist the very strong urge to treat and write this up as if it were going to be a PRODUCT to sell to someone who isn't you.
(Note, this gives you FREEDOM. After you try it, you might decide it sucks. Thats fine! You can be honest here!)


ON ORIGINALITY:


At a bare minimum, you are expected to have a bit of software (likely a "server" and/or a "docker container") up and running and – if not accessible from the internet at time of grading – some sort of proof that it was running at some point and you were able to test it from a different machine.


There is no specific "originality" requirement, but please note that to the extent that your project is NOT original, you will be expected to provide more context and variation in terms of what you focus on as part of the deliverable for this project.


Which is to say, if you do something unoriginal, like below – lets say "just" music server – please show effort elsewhere. This could be comparison to more than one,possibly adding features, or even analyzing what your solution could do the the market.


Originality could include doing something from scratch, or adding (or removing) features from something that already exists, and if a lot of work is done there, no need to do as much "analysis" as above.




I. An Introduction.

The introduction should state

- what purpose your project intends to serve (typically, you might divide along something like "learning" and "practical?"
- A short statement of scope (i.e. what are you going to do, and what you are not going to do.)
- Finally, name the technology you propose to actually use or attempt to use in the beginning, including the "machine" and the "software."
- The so called "cloud" is relatively ubiquitous. For whatever it is you're doing, be sure to compare and contrast with likely existing "cloud-based" or other private offerings; either name them in detail or explain why what it is you're doing is unique.



II. An overview

Here, expound a bit on where you're INTENDING to go with this: All of the below should be addressed, but you are not bound by this format. (Think the 5 "Ws")


What is it?
Why is it useful, and specifically, why might your idea be superior
Explain what (possible) paid or cloud service this might replace.
Provide other possible options and possibilities.
Who are ALL the users (e.g. will there be administrators vs regular users?)
Where will it be hosted, ideally and/or practically?
When will it be active, ideally and/or practically


III. A summary of what you actually did


Self explanatory. One interesting thing that may happen is that you switch course, during the project. This is fine! Be sure to tell me all about it.
Be sure to state with specificity what worked, what didn't, why things worked out the way they did and what you might do in the future.
Ultimately, a moderately skilled user (think, e.g. a fellow student not in this class) should be able to read along, understand, and perhaps follow and/or replicate (or improve on) your effort.


In terms of documentation, a written explanation is necessary, and other "media" such as screenshots are highly recommended as a proof-of-work.



IV. Conclusions

How did it go? Consider how this space may change in the future or other "multimedia" document) providing complete explanation and documentation of what you did.




Backlinks: FSU Courses:LIS5364