48-Hour Solo Hackathon: Part 1
24th February 2023
Previous Article : 48-Hour Solo Hackathon: Building a Full Stack MVP App with Ruby on Rails
Task Status
Set up the development environment, create the project, and set up version control.
I recently changed my laptop so I had to set up the new laptop. So the installation process was slightly longer. I installed the following:
- VSCode
- Git
- Ruby on Rails for macOS 12 Monterey — Check the page for your specific Operating System and version.
I then created the project and started the server
Define the MVP scope and outline basic user flows.
MVP Scope
I am building an Information Management System MVP to provide a centralized platform for managing and organizing information within a small organization.
The MVP will allow users to create, view, update, and delete various types of information such as documents, contacts, and activities. The MVP will include the following features:
- User Authentication: Users will be able to create accounts, log in, and log out of the system.
- Document Management: Users will be able to upload and manage documents, with the ability to add tags and categorize documents for easy retrieval.
- Contact Management: Users will be able to create and manage contact records, with the ability to search, filter, and sort contacts based on various criteria.
- Activity Management: Users will be able to create and manage activities, with the ability to schedule, edit, and cancel activities and send reminders to attendees.
- Dashboard: Will provided an overview of the user’s activity within the system, including recently uploaded documents, upcoming activities, and recently added contacts.
- Search: Will include a search feature that allows users to search across all types of information within the system.
- Security: Will have appropriate security measures to ensure the confidentiality and integrity of the information stored within the system.
User Flow
User Authentication:
- User navigates to the login page and enters their credentials (email and password).
- System validates the credentials and authenticates the user.
- 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.
- User selects a file to upload and adds relevant tags and categories.
- System saves the document and displays a success message.
- User can view, edit, or delete the document as needed.
Contact Management:
- User navigates to the contacts page and clicks on the “create contact” button.
- User fills in the contact details such as name, email, phone, and address.
- System saves the contact and displays a success message.
- User can view, edit, or delete the contact as needed.
Activity Management:
- User navigates to the activity page and clicks on the “create activity” button.
- User fills in the activity details such as title, date, time, location, and attendees.
- System saves the activity and displays a success message.
- User can view, edit, or delete the event as needed.
Dashboard:
- User navigates to the dashboard page and sees an overview of recent activities within the system.
- User can click on any of the items displayed on the dashboard to view more details.
Search:
- User enters a search query in the search bar located on the top of any page.
- System displays search results matching the query across all types of information within the system.
6 hours down, 42 to go, slow and steady.