48-Hour Solo Hackathon: Part 2

25th to 28th February 2023

Switching Gears
Published in
3 min readMar 3


Previous Article : 48-Hour Solo Hackathon: Part 1

I forgot to mention my previous article during the set up process, I had to set up SSH (a secure alternative to username/password authorisation) to be able to push my code to Github.

Tasks Update :

Set up authentication, database, and create basic models.

User Authentication

I created user authentication for the following user types:

  1. Administrator: An administrator has full access to the system and can perform all actions, including creating and managing user accounts, setting permissions, and configuring system settings.
  2. Manager: A manager has access to most parts of the system, including creating, editing, and deleting documents, contacts, and activities. However, they may not have access to certain administrative functions.
  3. Contributor: A contributor has limited access to the system and can only create, edit, and delete documents, contacts, and activities that they have created or been given access to. They may not have access to all parts of the system.
  4. Viewer: A viewer has the most limited access and can only view documents, contacts, and activities that they have been given access to. They cannot create, edit, or delete any information within the system.

Implement CRUD functionality for core models.

1. User authentication

2. Document Management

3. Contact Management

4. Activity Management

Implement core user flows, such as registration, login, and logout.

I was clear about the user flows I needed to decide on what would make it through to the MVP and what would be a future functionality.

User Authentication:


  • User navigates to the login page and enters their credentials (email and password).
  • System validates the credentials and authenticates the user.

Future Functionality

  • If the credentials are invalid, the system displays an error message.
  • If the user is authenticated successfully, the system redirects the user to the dashboard page.

Document Management:


  • User navigates to the documents page and clicks on the “upload document” button.
  • System saves the document and displays a success message.
  • User can view, edit, or delete the document as needed.

Future Functionality

  • User selects a file to upload and adds relevant tags and categories.

Pending : Contact Management, Activity Management, Search Dashboard



Switching Gears

Tech Product Manager || React Developer || MongoDB || NodeJs || Ruby on Rails Developer (In training) || Manual QA Tester