
The Mayurapada Central College A/L Admission Portal is an online application platform designed to streamline the admission process for A/L students, effectively managing over 900+ applicants. This project is optimized for Choreo, which enhances deployment and management capabilities.
- User-friendly interface for applicants.
- Efficient data handling with MongoDB.
- Containerized application for easy deployment and scalability.
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/dinethsiriwardana/AL-Application-System.git cd AL-Application-System
-
Build and run the application using Docker Compose:
docker-compose up --build
-
Access the application at
http://localhost:3000
.
The provided Dockerfile sets up the Next.js application with the necessary dependencies. Here’s a brief overview of its contents:
FROM node:20
# Update package lists and install necessary packages
RUN apt-get update && \
apt-get install -y \
git=1:2.39.5-0+deb12u1 \
libexpat1=2.5.0-1+deb12u1 \
libexpat1-dev=2.5.0-1+deb12u1 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm cache clean --force && \
npm install -g npm@latest && \
npm install
COPY . .
ENV NEXT_TELEMETRY_DISABLED 1
RUN npm run build
ENV NODE_ENV production
USER 10014
EXPOSE 3000
ENV HOSTNAME 0.0.0.0
ENV PORT 3000
CMD ["./node_modules/.bin/next", "start"]
The Docker Compose file defines the application and MongoDB service:
version: "3.8"
services:
app:
build: .
container_name: app-container
restart: always
ports:
- "3000:3000"
environment:
- HOSTNAME=0.0.0.0
- PORT=3000
- MONGO_URL=mongodb://mongo:27017/mydb
depends_on:
- mongo
mongo:
image: mongo:latest
container_name: mongo-container
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
ports:
- "27017:27017"
volumes:
- mongo-data:/data/db
volumes:
mongo-data:
The API for the Mayurapada Central College A/L Admission Portal is documented using Postman. You can access the collection through the following link:
This collection includes all the endpoints used in the application, along with detailed descriptions, request parameters, and example responses. It serves as a useful resource for developers who want to interact with the API or integrate it into other applications.
This project is licensed under the MIT License - see the LICENSE file for details.