Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akash-m-se/task-scheduler
https://github.com/akash-m-se/task-scheduler
nextjs shadcn tailwindcss vercel zod
Last synced: 25 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/akash-m-se/task-scheduler
- Owner: Akash-m-SE
- Created: 2024-10-31T15:58:54.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-04T10:36:32.000Z (3 months ago)
- Last Synced: 2024-11-17T12:25:47.748Z (3 months ago)
- Topics: nextjs, shadcn, tailwindcss, vercel, zod
- Language: TypeScript
- Homepage: https://task-scheduler-nu.vercel.app
- Size: 198 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Task Scheduler
A simple scheduling application built with Next.js, TypeScript, Tailwind CSS, ShadCN, and Zod for event validation. This app manages and displays daily events within a 24-hour period, ensuring no overlap between scheduled times.
## Features**Add Events:** Users can add new events by specifying a start and end time.
**Event Overlap Validation:** The `addEvent` method in the `Scheduler` class ensures that no two events overlap.
**Retrieve Events:** Users can view all scheduled events in a clear and organized layout.
**User Interface:** A visually appealing and intuitive UI designed with Tailwind CSS, displaying events in a timeline format.
**Input Validation:** Input validation is implemented using Zod to prevent invalid time entries.
## Implementation Details## Scheduler Class
- **Events Storage:** The class maintains a list of events.
- **Add Event:** The `addEvent` method checks for overlaps before adding a new event.
- If there's an overlap with an existing event, the method returns false, and the event is not added.
- If no overlap exists, the method returns true, and the event is successfully added.- **Get Events:** The getEvents method returns the list of all added events.
## DeploymentYou can access the live version of task-scheduler app here: [Live Demo](https://task-scheduler-nu.vercel.app/)
## Installation
**1.** Git Clone the Repository
**2.** Navigate to the directory where the repository was downloaded
```
cd task-scheduler
```**3.** Install the Dependencies
```
pnpm install
```**4.** Start the application in development mode
```
pnpm run dev
```**5.** Access your application via port - http://localhost:3000
## Tech Stack**Language:** TypeScript
**Frontend:** Next.js, HTML, Tailwind CSS, ShadCN, Zod
**Validation:** Zod
**Component Library:** ShadCN
**Deployment:** Vercel