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)