Skip to content

Adbhut07/DEI-CMS-OBE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cognitia – Outcome-Based Education (OBE) Management System

Cognitia is a full-stack Outcome-Based Education (OBE) management system developed as a minor project under the guidance of Prof. D. Bhagwan Das during the DETD course. The application streamlines the process of tracking and evaluating academic outcomes, ensuring that educational objectives align with program goals.

Live Application: Link

ER Diagram: Link

🚀 Features

Course & Program Outcome Management: Define and manage Course Outcomes (COs) and Program Outcomes (POs).

CO-PO Mapping: Establish and visualize the relationship between COs and POs.

Attainment Calculations: Compute attainment levels for COs and POs based on student performance.

Role-Based Access Control: Differentiate access and functionalities for Admins, Faculty, and Students.

Automated CI/CD Pipeline: Seamless deployment using GitHub Actions, Docker, and NGINX.

🛠️ Tech Stack

Frontend -

  1. Framework: Next.js with TypeScript
  2. UI Library: ShadCN UI
  3. Deployment: Vercel

Backend -

  1. Runtime: Node.js with TypeScript
  2. ORM: Prisma
  3. Database: PostgreSQL
  4. Deployment: AWS EC2 using Docker and NGINX
  5. CI/CD: GitHub Actions

📁 Project Structure

DEI-CMS-OBE/
├── backend/          # Node.js backend with Prisma ORM
├── client/           # Next.js frontend with ShadCN UI
├── .github/workflows # GitHub Actions for CI/CD
├── docker/           # Docker configurations
└── README.md         # Project documentation

⚙️ Setup Instructions

Backend Setup

1. Navigate to the backend directory:

cd backend

2. Install dependencies:

npm install

3. Configure environment variables:

Create a .env file and add your database URL:

DATABASE_URL=postgresql://<username>:<password>@<host>:<port>/<database>

4. Run database migrations:

npx prisma migrate dev --name init

5. Start the backend server:

npm run start

Frontend Setup

1. Navigate to the client directory:

cd client

2. Install dependencies:

npm install

3. Configure environment variables:

Create a .env file and add your backend API URL:

NEXT_PUBLIC_API_URL=http://localhost:8000

4. Start the frontend server:

npm run dev

Deployment

Docker & NGINX: The backend is containerized using Docker and served via NGINX on an AWS EC2 instance.

CI/CD Pipeline: GitHub Actions automate the build and deployment process, ensuring seamless updates on code changes.

Frontend Deployment: The Next.js frontend is deployed on Vercel for optimal performance and scalability.

License

MIT

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages