Overview:
Rapt is a full-stack time-tracker and pomodoro app built to meet the needs of a neurodiverse focus group who were not finding traditional productivity apps helpful. The main focus of the app is on data modeling and visualization to track history and provide feedback to users. It allows users to timebox different types of sessions, annotate and save their sessions, and view a graph of their activities. The front end is built with React, React Router, and TanStack Query, while the back end uses Node/Express, Postgres, Prisma, and Passport.
Features:
- Customizable session types: Users can choose what type of session they want to timebox, whether it’s a work session or a break session.
- Annotation and session saving: Users can annotate their sessions and save them for later reference.
- History visualization: The app provides a graph to show users the activities they have worked on, sorted by duration.
Installation:
To get started with Rapt:
- Clone the repository.
- Install the required NPM packages.
- Set up a PostgreSQL-as-a-service instance, such as ElephantSQL or Railway.
- Fill in the values in the .env.example file and rename it to .env. Make sure to provide the database URL provided by the PostgreSQL service.
- In the project’s root, run Prisma Migrate to initialize the database with the schema defined in prisma/prisma.schema.
- Run
npm run devin the root directory for the server and the client folder for the front end.
Summary:
Rapt is a time-tracking app designed to cater to the needs of a neurodiverse focus group. It offers customizable session types, annotation and session-saving features, and a history visualization graph. The app utilizes technologies such as React, React Router, TanStack Query, Node/Express, Postgres, Prisma, and Passport. Installation can be done by cloning the repo, installing NPM packages, setting up a PostgreSQL instance, and running the necessary commands. The app also outlines future optimizations and features planned for the roadmap.