Skip to content

AnchalDevBytes/timekeeper

Repository files navigation

TimeKeeper (Full-Stack Calendar Application)

This is a full-stack calendar application built with modern web technologies including Next.js, PostgreSQL, Prisma, NeonDB, TypeScript, and Tailwind CSS. The application allows users to create, update, delete, and view events on a calendar.

Screeshot

signin calendar updateCalendar

Features

  • Event Management: Create, update, and delete events.
  • Calendar View: Display events in a weekly calendar format.
  • User Authentication: Secure authentication using JSON Web Tokens (JWT).
  • Responsive Design: Optimized for both mobile and desktop views using Tailwind CSS.
  • Backend Integration: Uses Prisma as an ORM with PostgreSQL for data storage.
  • Modern Development Practices: Written in TypeScript for strong typing and better code quality.

Tech Stack

Prerequisites

Before running the application, ensure you have the following installed:

Getting Started

Follow these steps to set up the project locally:

1. Clone the Repository

git clone https://github.com/AnchalDevBytes/timekeeper.git
cd timekeeper
  1. Install dependencies:

    npm install
  2. Set Up the Database

    • Create a PostgreSQL database locally or use NeonDB for cloud hosting.
    • Configure the database connection string in the .env file:
    DATABASE_URL="postgresql://username:password@hostname:port/database_name"
  3. Configure Environment Variables

    DATABASE_URL="your-database-connection-string"
    API_BASE_URL="http://localhost:3000"
    TOKEN_SECRET="your-secret-key"
  4. Run Prisma Migrations

    npx prisma migrate dev --name init
    npx prisma generate
  5. Run the development server:

    npm run dev

The app will be available at http://localhost:3000.