A full-stack application for sharing and learning skills, built with Spring Boot and React.
skill-sharing-platform/
├── backend/ # Spring Boot backend
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/skillshare/
│ │ │ │ ├── config/ # Configuration classes
│ │ │ │ ├── controller/ # REST controllers
│ │ │ │ ├── model/ # Data models
│ │ │ │ ├── repository/ # MongoDB repositories
│ │ │ │ ├── service/ # Business logic
│ │ │ │ └── dto/ # Data Transfer Objects
│ │ │ └── resources/
│ │ │ ├── application.yml # Application configuration
│ │ │ └── application-dev.yml # Development configuration
│ │ └── test/ # Test classes
│ └── pom.xml # Maven dependencies
│
└── frontend/ # React frontend
├── public/ # Static files
└── src/
├── components/ # Reusable UI components
├── pages/ # Page components
├── services/ # API services
├── context/ # React context
├── hooks/ # Custom hooks
├── utils/ # Utility functions
└── styles/ # CSS/SCSS files
- User Authentication and Authorization
- Skill Listing and Management
- User Profiles
- Skill Request and Offer System
- Messaging System
- Rating and Review System
- Spring Boot
- Spring Security
- Spring Data MongoDB
- JWT Authentication
- Maven
- React
- Material-UI
- Axios
- React Router
- Redux Toolkit
- MongoDB
- Java 17 or higher
- Node.js 16 or higher
- MongoDB
- Maven
- npm or yarn
- Navigate to the backend directory
- Run
mvn clean install - Configure MongoDB connection in
application.yml - Run the application using
mvn spring-boot:run
- Navigate to the frontend directory
- Run
npm install - Run
npm start
- Follow the existing folder structure for new features
- Write meaningful commit messages
- Create feature branches for new developments
- Write unit tests for both backend and frontend
- Document API endpoints and component usage