Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 College Resource Sharing Platform

Java Spring Boot React Vite PostgreSQL JWT License

A full-stack web application that enables students and faculty to upload, discover, download, and manage academic resources within a college environment. The platform provides secure authentication, role-based authorization, resource moderation, bookmarking, ratings, and analytics.


✨ Features

🔐 Authentication & Security

  • JWT Authentication
  • User Registration & Login
  • Secure Password Encryption
  • Protected Routes
  • Role-Based Access Control (User/Admin)
  • Logout Functionality

👨‍🎓 Student Features

  • Upload Study Materials
  • Download Resources
  • Search Resources
  • Filter by Category/Subject
  • Sort by Downloads & Ratings
  • Bookmark Resources
  • Rate Resources (1–5 Stars)
  • Edit Uploaded Resources
  • Delete Uploaded Resources
  • Manage Personal Uploads
  • User Dashboard
  • Profile Management

👨‍💼 Admin Features

  • Admin Dashboard
  • Approve Uploaded Resources
  • Reject Resources
  • Manage Users
  • Delete Users
  • Platform Monitoring

📊 Analytics

  • Top Downloaded Resources
  • Top Rated Resources
  • Download Counter
  • Average Rating Calculation

🛠 Tech Stack

Frontend

  • React.js
  • Vite
  • React Router DOM
  • Axios
  • CSS

Backend

  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • Hibernate
  • JWT Authentication
  • REST APIs

Database

  • PostgreSQL

Tools

  • Git & GitHub
  • Postman
  • IntelliJ IDEA / Spring Tool Suite
  • VS Code

📁 Project Structure

college-resource-sharing-platform
│
├── backend
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── com.college.resource
│   │   │   │       ├── controller
│   │   │   │       ├── service
│   │   │   │       ├── repository
│   │   │   │       ├── entity
│   │   │   │       ├── dto
│   │   │   │       ├── security
│   │   │   │       └── config
│   │   │   └── resources
│   │   └── test
│   ├── uploads
│   └── pom.xml
│
├── frontend
│   ├── src
│   │   ├── api
│   │   ├── assets
│   │   ├── components
│   │   ├── context
│   │   ├── hooks
│   │   ├── pages
│   │   ├── utils
│   │   ├── App.jsx
│   │   └── main.jsx
│   ├── public
│   ├── package.json
│   └── vite.config.js
│
├── README.md
└── .gitignore

🚀 Getting Started

Prerequisites

Make sure you have installed:

  • Java 17+
  • Maven
  • Node.js (18+ recommended)
  • PostgreSQL
  • Git

📥 Clone Repository

git clone https://github.com/DishaAgarwalla/college-resource-sharing-platform.git

cd college-resource-sharing-platform

⚙ Backend Setup

Navigate to the backend folder:

cd backend

Configure your PostgreSQL database in:

src/main/resources/application.properties

Example:

spring.datasource.url=jdbc:postgresql://localhost:5432/resource_db
spring.datasource.username=postgres
spring.datasource.password=your_password

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

Run the backend:

mvn spring-boot:run

Backend runs at:

http://localhost:8080

💻 Frontend Setup

Open a new terminal:

cd frontend

Install dependencies:

npm install

Run the development server:

npm run dev

Frontend runs at:

http://localhost:5173

🌱 Future Enhancements

  • Email Verification
  • Password Reset
  • Resource Comments
  • Notifications
  • Resource Versioning
  • Dark Mode
  • Docker Support
  • CI/CD Pipeline
  • Cloud Deployment (AWS / Render)

🤝 Contributing

Contributions are welcome.

  1. Fork the repository.
  2. Create a feature branch.
  3. Commit your changes.
  4. Open a Pull Request.

👩‍💻 Author

Disha Agarwalla

GitHub: https://github.com/DishaAgarwalla


📄 License

This project is developed for educational purposes.


⭐ If you like this project, consider starring the repository.

Made with ❤️ by Disha Agarwalla

Always learning • Always building • Open to collaboration 🚀

About

A full-stack College Resource Sharing Platform built with Spring Boot, PostgreSQL, JWT Authentication, and React for sharing academic resources, bookmarks, ratings, comments, and role-based access control.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages