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.
- JWT Authentication
- User Registration & Login
- Secure Password Encryption
- Protected Routes
- Role-Based Access Control (User/Admin)
- Logout Functionality
- 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 Dashboard
- Approve Uploaded Resources
- Reject Resources
- Manage Users
- Delete Users
- Platform Monitoring
- Top Downloaded Resources
- Top Rated Resources
- Download Counter
- Average Rating Calculation
- React.js
- Vite
- React Router DOM
- Axios
- CSS
- Spring Boot
- Spring Security
- Spring Data JPA
- Hibernate
- JWT Authentication
- REST APIs
- PostgreSQL
- Git & GitHub
- Postman
- IntelliJ IDEA / Spring Tool Suite
- VS Code
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
Make sure you have installed:
- Java 17+
- Maven
- Node.js (18+ recommended)
- PostgreSQL
- Git
git clone https://github.com/DishaAgarwalla/college-resource-sharing-platform.git
cd college-resource-sharing-platformNavigate to the backend folder:
cd backendConfigure your PostgreSQL database in:
src/main/resources/application.propertiesExample:
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=trueRun the backend:
mvn spring-boot:runBackend runs at:
http://localhost:8080
Open a new terminal:
cd frontendInstall dependencies:
npm installRun the development server:
npm run devFrontend runs at:
http://localhost:5173
- Email Verification
- Password Reset
- Resource Comments
- Notifications
- Resource Versioning
- Dark Mode
- Docker Support
- CI/CD Pipeline
- Cloud Deployment (AWS / Render)
Contributions are welcome.
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Open a Pull Request.
Disha Agarwalla
GitHub: https://github.com/DishaAgarwalla
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 🚀