Skip to content

MCA-NITW/placemento

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Placemento πŸŽ“

License: GPL-3.0 React Node.js MongoDB

Placemento is a comprehensive web-based placement management system designed specifically for MCA students at NIT Warangal. Built with the MERN stack, it streamlines placement activities, student data management, and company interactions for the entire batch.

✨ Features

  • πŸ“Š Student Dashboard - Comprehensive profile management and placement status tracking
  • 🏒 Company Management - Detailed company profiles and job posting system
  • πŸ“ˆ Analytics & Statistics - Visual insights into placement trends and data
  • πŸ‘₯ User Authentication - Secure JWT-based login with email OTP verification
  • πŸ“§ Email Notifications - Automated updates for placement activities
  • πŸ“± Responsive Design - Optimized for desktop and mobile devices
  • πŸ” Advanced Filtering - Powerful search and filter capabilities using AG Grid
  • πŸ’Ό Experience Sharing - Students can share interview experiences with ratings and tips
  • πŸ‘¨β€πŸ’» Team Information - Comprehensive developer team profiles and project details
  • πŸ”’ Role-based Access - Admin and student roles with appropriate permissions

πŸ—οΈ Architecture

Placemento/
β”œβ”€β”€ πŸ“ client/                 # React frontend application
β”‚   β”œβ”€β”€ πŸ“ public/            # Static assets
β”‚   └── πŸ“ src/
β”‚       β”œβ”€β”€ πŸ“ api/           # API service layer
β”‚       β”œβ”€β”€ πŸ“ components/    # Reusable React components
β”‚       β”œβ”€β”€ πŸ“ pages/         # Main application pages
β”‚       β”œβ”€β”€ πŸ“ utils/         # Utility functions
β”‚       └── πŸ“„ App.jsx        # Main App component
β”œβ”€β”€ πŸ“ server/                 # Node.js backend application
β”‚   β”œβ”€β”€ πŸ“ controllers/       # Route controllers
β”‚   β”œβ”€β”€ πŸ“ middleware/        # Custom middleware
β”‚   β”œβ”€β”€ πŸ“ models/           # MongoDB data models
β”‚   β”œβ”€β”€ πŸ“ routes/           # API route definitions
β”‚   β”œβ”€β”€ πŸ“ utils/            # Backend utilities
β”‚   β”œβ”€β”€ πŸ“„ seedDatabase.js   # Sample data seeder
β”‚   β”œβ”€β”€ πŸ“„ testStats.js      # API testing script
β”‚   └── πŸ“„ index.js          # Server entry point
β”œβ”€β”€ πŸ“„ package.json           # Root package configuration
β”œβ”€β”€ πŸ“„ DEVELOPMENT.md         # Development guide
β”œβ”€β”€ πŸ“„ setup.bat             # Windows setup script
β”œβ”€β”€ πŸ“„ setup.sh              # Unix setup script
└── πŸ“„ README.md             # Project documentation

πŸš€ Quick Start

Prerequisites

Ensure you have the following installed:

  • Node.js v20.0.0 or higher
  • npm v10.0.0 or higher
  • MongoDB (local installation or MongoDB Atlas account)
  • Git for version control

Installation

  1. Clone the repository

    git clone https://github.com/MCA-NITW/placemento.git
    cd placemento
  2. Install dependencies

    npm run install-deps

    This command will install dependencies for both frontend and backend.

  3. Environment Setup

    Create .env files in the server directory with the following variables:

    # server/.env
    PORT=5000
    MONGODB_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret_key
    EMAIL_HOST=your_email_host
    EMAIL_PORT=587
    EMAIL_USER=your_email_username
    EMAIL_PASS=your_email_password
  4. Start the development servers

    npm run start

    This will start both the backend server (port 5000) and frontend development server (port 3000).

  5. Access the application

    Open your browser and navigate to http://localhost:3000

πŸ› οΈ Available Scripts

Command Description
npm run start Starts both frontend and backend concurrently
npm run frontend-start Starts only the React development server
npm run backend-start Starts only the Node.js server
npm run install-deps Installs dependencies for both frontend and backend
npm run frontend-install Installs dependencies for frontend only
npm run backend-install Installs dependencies for backend only
npm run frontend-build Creates production build of React app
npm run format Formats code using Prettier
npm run dev Development mode with hot reload

πŸ“Έ Screenshots & Demo

🏠 Homepage

Modern landing page with live statistics and beautiful animations.

πŸ“Š Stats Dashboard

Interactive charts and visualizations using AG Charts for comprehensive placement analytics.

πŸ‘₯ Student Management

Advanced AG Grid tables with filtering, sorting, and search capabilities for managing student data.

🏒 Company Portal

Comprehensive company management system with detailed profiles and job postings.

πŸ’Ό Experience Sharing

Platform for students to share interview experiences with ratings and helpful tips.

🎯 Recent Updates & Features

✨ Latest Enhancements

  • Enhanced Statistics Page: Beautiful charts and visual representations using AG Charts
  • Full Page Optimization: Improved vertical layout and space utilization
  • Modern UI Components: Glassmorphism design with smooth animations
  • Responsive Design: Perfect display across all device sizes
  • Performance Optimization: Faster loading and better user experience

πŸ”„ Current Version: v1.0.0

  • Complete placement management system
  • Interactive data visualization
  • Advanced filtering and search
  • Email notification system
  • Role-based access control

🀝 Contributing

We welcome contributions from the community! Here's how you can get involved:

For Organization Members

  1. Create a feature branch from main:

    git checkout -b feature/your-feature-name
  2. Make your changes following our coding standards

  3. Test thoroughly to ensure everything works as expected

  4. Submit a pull request with a clear description of your changes

For External Contributors

  1. Fork the repository to your GitHub account

  2. Clone your fork and create a feature branch:

    git clone https://github.com/your-username/placemento.git
    cd placemento
    git checkout -b feature/your-feature-name
  3. Make your changes and test them

  4. Submit a pull request from your fork to our main repository

Coding Standards

  • Use Prettier for code formatting: npm run format
  • Follow React best practices for frontend development
  • Write clear commit messages
  • Add comments for complex logic
  • Ensure responsive design for all UI components

πŸ”§ Tech Stack

Frontend

  • React 18.2 - Modern UI library with hooks
  • React Router - Client-side routing
  • AG Grid - Advanced data grid with filtering and sorting
  • React Toastify - User-friendly notifications
  • Axios - HTTP client for API calls
  • React Icons - Comprehensive icon library

Backend

  • Node.js - JavaScript runtime environment
  • Express.js - Web application framework
  • MongoDB with Mongoose - Database and ODM
  • JWT - Authentication and authorization
  • Bcrypt - Password hashing
  • Nodemailer - Email service integration
  • Winston - Logging framework
  • Express Rate Limit - API rate limiting

Development Tools

  • Nodemon - Development server auto-restart
  • Concurrently - Run multiple commands simultaneously
  • Prettier - Code formatting
  • React Scripts - Build toolchain for React

πŸ“„ License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.

πŸ“ž Contact & Support

πŸ‘₯ Development Team

🏫 Acknowledgments

  • NIT Warangal College - For providing the academic environment and support
  • MCA Department - For guidance and project requirements
  • Open Source Community - For the amazing tools and libraries that made this project possible

πŸ”— Useful Resources


Made with ❀️ by MCA Students of NIT Warangal

About

A Placement Portal for MCA NITW

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Contributors 6

Languages