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.
- 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.
- Frontend: Next.js, TypeScript, Tailwind CSS
- Backend: Next.js API Routes, Prisma, PostgreSQL, NeonDB
- Deployment: Frontend deployed on Vercel.
Before running the application, ensure you have the following installed:
- Node.js
- PostgreSQL (for local development)
- NeonDB account for database hosting
Follow these steps to set up the project locally:
git clone https://github.com/AnchalDevBytes/timekeeper.git
cd timekeeper
-
Install dependencies:
npm install
-
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"
-
Configure Environment Variables
DATABASE_URL="your-database-connection-string" API_BASE_URL="http://localhost:3000" TOKEN_SECRET="your-secret-key"
-
Run Prisma Migrations
npx prisma migrate dev --name init npx prisma generate
-
Run the development server:
npm run dev
The app will be available at http://localhost:3000.