task-manager-astrojs Svelte Themes

Task Manager Astrojs

Task Manager is a web application for managing tasks that allows users to create, view, update, and delete tasks. Tasks can be filtered by priority and due date, and searched by title or description. The application uses a tech stack that includes Astro, Svelte, Prisma, and SQLite.

Task Manager

Project Overview

Task Manager is a web application for managing tasks that allows users to create, view, update, and delete tasks. Tasks can be filtered by priority and due date, and searched by title or description. The application uses a tech stack that includes Astro, Svelte, Prisma, and SQLite.

This project was developed for educational purposes to learn modern web development technologies and server-side actions in Astro.

Project Status

This project is currently under active development. Features may change and functionality might be incomplete. Contributions and feedback are welcome!

Main Features

  1. Create Task: Users can add new tasks by specifying parameters such as title, description, priority (low, medium, high), due date, and status (new, in progress, completed, active).
  2. View Tasks: Users can view a list of tasks, navigate between pages with a default limit of 10 tasks per page, filter tasks by priority and due date, and search by title and description.
  3. Update Task: Update task information by its unique identifier.
  4. Delete Task: Delete a task by its unique identifier.

User Identification

  • On the user's first visit to the application, the system checks for the presence of a userId in the cookies.
  • If no userId is found, a new unique identifier is generated using the uuid library.
  • The userId is used to retrieve and display tasks that belong to the specific user.

Technologies

  • Astro: Framework for building static websites with server actions support.
  • Svelte: Frontend framework for creating components.
  • Prisma: ORM for interacting with the SQLite database.
  • SQLite: Local database.
  • Tailwind CSS: Utility-first CSS framework for component styling.
  • Jest: Testing framework for server actions.

Installation and Usage

Installation

To install the project dependencies, run the following command:

yarn install

Set Up the Database

Initialize Prisma and apply the database schema migration:

npx prisma migrate dev --name init
npx prisma generate

Development Server

To start the development server, run:

yarn dev

The development server will start on http://localhost:4321/.

Build for Production

To create a production build, run:

yarn build

Preview Production Build

To preview the production build locally, run:

yarn preview

Testing

Run the tests with the following command:

yarn test

Author

Marina Lebedeva

License

This project is licensed under the MIT License. For more information, see the LICENSE file.

Top categories

svelte logo

Need a Svelte website built?

Hire a professional Svelte developer today.
Loading Svelte Themes