Jump to content

Miss Minutes

From WIKI FOSSCELL NITC
Revision as of 19:13, 14 July 2025 by Vysakh (talk | contribs) (How to Setup / Contribute ?)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Now that's a Hatrick for posts. I was trying to learn elixir and Have now vibe coded a monstrosity which you can also call as an MVP. It's an upgrade from Clockwise. To understand this you must first Understand Clockwise.

Clockwise

So clockwise was made as part of the 2023 Code INIT Conducted by CSEA It was developed overnight and won the Code INIT challenge, more updates have been made to accomodate the changes in slots and future proof the application.

Why we need more ?

With clockwise we were able to generate a static iCal file that will contain the courses for a semester and it's timings per week. This works well to only an extend. The dynamic nature of the classes require a dynamic solution. Special holidays, Class cancellations etc can't be updated with this as the data source is only loaded once and can't be updated remotely.

Solution

I've hacked together Miss Minutes which for the better or for the worse a Vibe coded piece of software. I do realize that the code has a lotta technical debt. Half of the code in there are unused / redundant and are leftover as it's coming from the pheonix framework setup.

What Works Now ?

The repo currently has a Pheonix app that can run and will provide an events url / dynamic iCal link that you can import to your Google Calendar. Or with much more frequent updates using the iCalX5 in pair with Simple Calendar. The events can be updated right now in a csv file and will immediately reflect in the user calendar. This opens up new possibility to timetable management as a CR, BR, or a faculty (when pigs fly) will be able to update the Class details realtime.

From start of this itself I had decided that I won't be making one more useless custom client software that will end up being unmaintained so I tried my best to build on top of exisiting standards and well maintained applications.

What Next

As I'm writing this I've a rough Idea on what has to be implemented next.

  1. Clean up the repo and remove all the unneeded code snippets trimming down the codebase to the absoloute minimum number of files / lines of code for the current functionalities.
  2. Move to sqlite for storing data and a single user login page with UI to manage the user specific data. (Each CR / BR ) Should be able to see / edit only their stream.
  3. Draft Documentation on How to subscirbe to the generated URl.

(hopefully will add the other items soon)

How to Setup / Contribute ?

The code is currently available at my Github Repo tellmeY18/miss_minutes the setup contains a flake.nix file which helps you setup a dev environment with all the required dependencies. Simply run

nix develop 

to setup a shell in which all the requirements are setup. Once you are in the dev shell you can proceed to run the application following the instructions mentioned in the README.md.

  1. Fork The repo.
  2. Create a feature branch
  3. Send a PR explaining it in detail what you have done.