Skip to content

Abhishekjc19/NMIT_COURSEREGISTRATION

Repository files navigation

NMIT Course Registration Portal

A comprehensive student portal for NITTE Meenakshi Institute of Technology built with React (Frontend) and Spring Boot (Backend) with Oracle Database.

🚀 Features

  • Student Authentication: Login with USN and Date of Birth
  • Dashboard: View CIE marks, attendance, and academic progress
  • Course Management: View enrolled courses and academic details
  • Responsive Design: Built with React and Tailwind CSS
  • Secure Backend: Spring Boot with JWT authentication
  • Oracle Integration: Complete database setup with student data

🛠 Tech Stack

Frontend

  • React 18 with TypeScript
  • Vite for development server
  • Tailwind CSS for styling
  • Recharts for data visualization
  • Lucide React for icons

Backend

  • Spring Boot 3.2.0
  • Spring Security with JWT
  • Oracle Database 23c FREE
  • Maven for dependency management
  • BCrypt for password encryption

Database

  • Oracle Database 23c FREE
  • Custom schema with users, students, departments tables
  • Sample data with AIML department student

📋 Prerequisites

  • Node.js 18+ and npm
  • Java 17+
  • Maven 3.6+
  • Oracle Database 23c FREE
  • Git

🔧 Installation & Setup

1. Clone Repository

git clone https://github.com/Abhishekjc19/NMIT_COURSEREGISTRATION.git
cd NMIT_COURSEREGISTRATION

2. Database Setup

  1. Install Oracle Database 23c FREE
  2. Connect as SYSTEM user
  3. Run the database setup script:
-- Execute FIX-DATABASE-FINAL.sql or use VS Code Oracle extension
-- This creates nmit_portal user and sample student data

3. Backend Setup

cd backend
mvn clean install
mvn spring-boot:run

Backend will start on http://localhost:8080

4. Frontend Setup

cd project
npm install
npm run dev

Frontend will start on http://localhost:4000

🎯 Usage

Student Login

  • USN: 1NT23AI004
  • DOB: 19/04/2004 (or 2004-04-19)

API Endpoints

  • POST /auth/student-login - Student authentication
  • GET /api/student/details - Get student profile
  • GET /api/student/dashboard - Get dashboard data
  • GET /api/student/courses - Get enrolled courses

📁 Project Structure

NMIT_COURSEREGISTRATION/
├── backend/                 # Spring Boot backend
│   ├── src/main/java/      # Java source code
│   ├── src/main/resources/ # Application properties
│   ├── pom.xml            # Maven dependencies
│   └── *.sql              # Database setup scripts
├── project/               # React frontend
│   ├── src/               # React components
│   ├── public/            # Static assets
│   ├── package.json       # npm dependencies
│   └── vite.config.ts     # Vite configuration
└── temp-backend/          # Node.js temp server (for development)

🔒 Security Features

  • JWT-based authentication
  • BCrypt password hashing
  • CORS configuration
  • Input validation
  • SQL injection prevention

🗃 Database Schema

Tables

  • users: User authentication and profile data
  • students: Student-specific information (USN, DOB, etc.)
  • departments: Academic department details

Sample Data

  • AIML Department with sample student
  • Pre-configured user with encrypted password
  • Foreign key relationships maintained

🚀 Deployment

Development

  • Frontend: Vite dev server with hot reload
  • Backend: Spring Boot with auto-restart
  • Database: Oracle FREE with VS Code extension

Production

  • Build frontend: npm run build
  • Package backend: mvn clean package
  • Deploy JAR file with Oracle database connection

🤝 Contributing

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

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

👨‍💻 Author

Abhishek JC

🙏 Acknowledgments

  • NITTE Meenakshi Institute of Technology
  • Spring Boot and React communities
  • Oracle Database documentation
  • VS Code extension developers

Built with ❤️ for NMIT students

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •