Todo Topia is an intuitive todo list application designed to help users organize and categorize their tasks efficiently. With this tool, users can effortlessly segregate tasks, ensuring that their daily chores, professional commitments, and personal goals are neatly delineated and easily accessible.
Todo Topia is built with a global audience in mind. The application currently supports the following languages:
- English (en)
- Spanish (es)
- Italian (it)
- French (fr)
- German (de)
The app will automatically synchronize the language based on the user's Telegram settings.
In line with our aim to offer a seamless user experience, Todo Topia automatically synchronizes its theme with the user's preferred theme settings on Telegram.
-
Clone the Repository:
git clone https://github.com/ArianHamdi/todo-topia
-
Install Dependencies:
pnpm install
-
Environment Configuration: Create a
.env
file in the root directory of your project. Use the.env.example
file as a reference and fill in yourDATABASE_URL
andBOT_API_TOKEN
. -
Prisma Generate: To generate the Prisma schema, we call the pnpm postinstall script. In case it didn't run automatically, you need to call it by using:
pnpm postinstall
For local development, we suggest using ngrok
to tunnel the server. After starting the development server using:
pnpm dev
You can set up ngrok to tunnel the local server:
ngrok http 3000
This will provide you with a public URL to access your local development server.
-
TypeScript: Provides static typing to JavaScript, ensuring a more robust codebase.
-
ESLint: Identifies and fixes problematic patterns found in JavaScript/TypeScript code.
-
Prettier: An opinionated code formatter ensuring that all output code conforms to a consistent style.
-
Lint-Staged: Runs linters against staged git files, making sure you're only committing files that meet your linting criteria.
-
Husky: Enhances git hooks by making them easier to use, share, and configure.
Note: Husky should install automatically when you use
pnpm install
. If for some reason it doesn't, execute the following command:npm run prepare
For detailed documentation and component visualization, we leverage Storybook. To launch Storybook, use the command:
pnpm storybook
Todo Topia bot script is available on todo-topia-bot