Welcome to the Dockerized Next.js Job Application Portal! This is a modern job application platform where users can view job details, apply for jobs, and receive email confirmations. The app is Dockerized for easy deployment and scalability. Let's get started! 🎉
- Job Application Portal: View and apply for jobs with ease. 💼
- Email Notifications: Receive a confirmation email when you apply for a job. 📧
- Dockerized Setup: Simple and consistent deployment using Docker and Docker Compose. 🐳
- Database Integration: MongoDB service for storing job and user data. 🗄️
Before running the project locally, make sure you have the following installed:
Follow these simple steps to get the app up and running on your local machine:
git clone https://github.com/Neem-Sheth/CDC-Portal.git
cd CDC-Portal
Create a .env
file in the root directory and configure the required environment variables:
PORT=3000
MONGODB_URI=mongodb://mongo:27017/your_database_name
EMAIL_SERVICE=your_email_service
EMAIL_USER=your_email_address
EMAIL_PASS=your_email_password
💡 Note: Replace placeholders with actual values.
Run the following command to build and start the Docker containers:
docker-compose up --build
This will:
- Build the application Docker image. 🔨
- Start the application and MongoDB services. 🚀
Once everything is up and running, open your browser and go to:
Here’s a quick overview of the project structure:
.
├── Dockerfile # Docker configuration for the app
├── docker-compose.yml # Multi-service Docker configuration
├── package.json # Dependencies and scripts
├── pages/ # Next.js pages
├── api/ # Backend API routes
├── components/ # Reusable React components
├── public/ # Static assets
└── README.md # Project documentation
Here are the commands to run inside the project directory:
npm run dev
➡️ Start the development server. ⚡npm run build
➡️ Build the production-ready app. 🚀npm run start
➡️ Start the production server. 💻
This project integrates Nodemailer to send job application confirmation emails. When a user applies for a job, they will receive an email containing the job details and a confirmation message. 🎉
You’ll need to configure the following environment variables in your .env
file:
EMAIL_SERVICE: e.g., gmail
EMAIL_USER: Your email address
EMAIL_PASS: App password or email password (securely stored)
Here are some common Docker commands for working with the app:
-
Build Docker Image:
docker build -t your_project_name .
-
Run the Docker Container:
docker run -p 3000:3000 your_project_name
-
Stop the Container:
docker-compose down
To deploy the Dockerized application to the cloud:
- Push the Docker image to a registry (e.g., Docker Hub, AWS ECR).
- Deploy the image to your preferred cloud platform (e.g., AWS, Azure, Google Cloud, Heroku).
We welcome contributions! Here’s how you can contribute to this project:
-
Fork this repository.
-
Create a new branch for your feature/bugfix:
git checkout -b feature-name
-
Commit your changes:
git commit -m "Add feature"
-
Push to your branch:
git push origin feature-name
-
Submit a pull request.
This project is licensed under the MIT License.
Thanks for checking out the project! Feel free to contribute or just explore! 🎉