Skip to content

Developed an elective course selection system using Express.js, React, TypeScript, and integrated Prisma ORM with PostgreSQL for efficient, type-safe data operations and analytics dashboard.

Notifications You must be signed in to change notification settings

hsanirudh/ElectiveHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ElectiveHub

ElectiveHub is a comprehensive full-stack web application designed to streamline course selection and management for elective subjects. Built with modern technologies like React, Node.js, and Prisma, it provides students and faculty with a secure and efficient platform to browse, select, and manage elective courses. The system features real-time updates, intuitive interfaces, and robust backend services to ensure a seamless course selection experience.

ElectiveHub.mp4

🏗 Project Structure

ElectiHub/
├── frontend/          # React + Vite + TypeScript frontend
├── backend/           # Node.js + Prisma backend

🚀 Quick Start

Prerequisites

  • Node.js (v16 or later)
  • pnpm (Package Manager)

Installation

  1. Clone the repository

    git clone https://github.com/hsanirudh/ElectiveHub 
    cd ElectiHub
  2. Frontend Setup

    cd frontend
    pnpm install
    pnpm dev
  3. Backend Setup

    cd backend
    pnpm install
    
    # Setup your environment variables
    cp .env.example .env
    
    # Run Prisma migrations
    pnpm prisma migrate dev
    
    # Start the server
    pnpm dev

🛠 Tech Stack

Frontend

  • React
  • TypeScript
  • Vite
  • Tailwind CSS

Backend

  • Node.js
  • Express
  • Prisma (ORM)
  • PostgreSQL

🐳 Docker Support

The project includes Docker support for all components:

# Build and run all services
docker-compose up --build

# Run individual services
docker-compose up frontend
docker-compose up backend

📝 Environment Variables

Create .env files in frontend and backend directories by referring to the example given in the repository

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

About

Developed an elective course selection system using Express.js, React, TypeScript, and integrated Prisma ORM with PostgreSQL for efficient, type-safe data operations and analytics dashboard.

Topics

Resources

Stars

Watchers

Forks