This project is a simple calendar feature application that allows users to create, view, edit, and delete events on their personal calendar. The solution consists of a frontend built with React and a backend built with Express.js. The application includes Firebase authentication and CRUD operations for calendar events.
- Firebase Authentication is used for secure user login and registration.
- Users can log in to manage their calendar events.
- Authentication ensures that users can only access their own data.
- Create Events: Users can create events with details such as Title, Date & Time, and Description.
- View Events: A list or calendar view displays all events created by the user.
- Edit Events: Users can update event details.
- Delete Events: Users can delete events they no longer need.
- A RESTful API is implemented for handling CRUD operations for calendar events.
- Events are stored in a database (e.g., sqlite).
- Middleware ensures that each user only has access to their events.
- A user-friendly interface for managing events.
- Forms for creating and editing events.
- A responsive design using Shadcn and Tailwind for styling.
- Bun installed
- Firebase project configured for authentication
- Clone the repository:
git clone https://github.com/Prathamdas3/calender
cd calendar- Install dependencies for the server:
cd server
bun install- Install dependencies for the client:
cd ../client
bun install- Navigate to the server folder:
cd server- Create a .env file and add the following:
DATABASE_URL="file:./dev.db"- Start the server
bun run index.ts- Start the Frontend:
cd client- Create a .env.local file and add the following:
VITE_API_KEY=
VITE_AUTH_DOMAIN=
VITE_PROJECT_ID=
VITE_STORSGEBUCKET=
VITE_MESSAGING_SENDER_ID=
VITE_APP_ID=
VITE_MEASUREMENTID=
VITE_BASE_URL=- Start the client
bun run dev- Open the app in your browser
http://localhost:3000
- Authentication is handled by Firebase.
GET /events: Fetch all events for the authenticated user.POST /event: Create a new eventGET /event/:id: Fetch an eventPATCH /event/:id: Update an eventDELETE /event/:id: Delete an event
- Frontend: React, Tailwind, Vite
- Backend: Express.js, Sqlite, Prisma
- Authentication: Firebase Authentication
- Styling: Tailwind, Shadcn
This project is open-source and available under the MIT License.
Feel free to contribute or provide feedback!










