![Screenshot 2024-02-01 at 2 14 48 AM](https://private-user-images.githubusercontent.com/87474368/301303583-3767c6b7-2509-48fc-9f99-0586fa025533.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMDI5MzMsIm5iZiI6MTcxOTEwMjYzMywicGF0aCI6Ii84NzQ3NDM2OC8zMDEzMDM1ODMtMzc2N2M2YjctMjUwOS00OGZjLTlmOTktMDU4NmZhMDI1NTMzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDAwMzAzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThiOWZhOTkyZDQwMjI5ZDM0MzU0ZWM1M2Y5OTg4MTgyMDZkN2EyZWY5OGU5ZDAwYzAwNzdkOGY5Yzc3ZGE4Y2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.MDrle09Z-0-_XaYlIJ1EEsuMsohIfi32jYsjWFMCY04)
A full-stack email scheduler application built with Next.js, TypeScript, and MongoDB.
- Schedule new emails with details such as title, description, time, etc.
- View a list of scheduled emails.
- Edit and update existing scheduled emails.
- Delete scheduled emails.
- Search functionality based on email title.
- Node.js: Install Node.js
- MongoDB: Install MongoDB
- Clone the repository:
git clone https://github.com/vermaAtul1520/email-scheduler.git
cd email-scheduler
- Install dependencies:
npm install
-
Set up environment variables:
Create a
.env.local
file in the root of your project and add the following variables:MONGO_URL=your_mongodb_connection_string NEXT_PUBLIC_BASE_URI=backend_base_url
Replace
your_mongodb_connection_string
with your MongoDB connection string andbackend_base_url
with your actual base url of backend.
- Start the Next.js development server:
npm run dev
-
Open your browser and go to http://localhost:3000
-
Explore the email scheduler application.
The backend of the application exposes the following API endpoints:
GET /api/schedules
: Returns a list of all schedules.GET /api/schedules?title=sampletitle
: Returns a filtered list based on the title.GET /api/schedules/:id
: Returns specific schedule details.PATCH /api/schedules/:id
: Updates a specific schedule.DELETE /api/schedules/:id
: Deletes a specific schedule.POST /api/schedules
: Creates a new schedule.
/
|-- pages/ # Next.js pages
|-- components/ # React components
|-- lib/ # Utility functions and constants
|-- controllers/ # API route controllers
|-- middlewares/ # Middleware functions
|-- public/ # Public assets
|-- styles/ # CSS styles
|-- .env.local # Environment variables
|-- next.config.js # Next.js configuration
|-- package.json # Node.js dependencies
|-- README.md # Project documentation
- Next.js
- TypeScript
- MongoDB
- CSS (Vanilla)