CampusVault is a comprehensive React Native application designed to revolutionize academic resource sharing within university communities. Students can effortlessly share, discover, and organize course materials, lecture notes, past papers, and study resourcesβall in one intuitive platform.
Currently migrating from native Android to React Native for cross-platform compatibility. This repository contains the React Native implementation.
- π Resource Sharing β Upload and share course materials, notes, and past papers
- π Smart Discovery β Browse resources by faculty, program, or course unit
- β Bookmark System β Save important resources for quick access
- π€ User Profiles β Personalized dashboards and contribution tracking
- π Preview System β Preview resources before downloading
- Real-time notifications
- Advanced search filters
- Offline access to bookmarked content
- Collaborative study groups
- Resource rating system
| Home Screen | Explore Resources | Course Details |
|---|---|---|
![]() |
![]() ![]() |
![]() |
| Faculty View | Resource Preview | User Profile |
|---|---|---|
![]() |
![]() |
![]() |
| Bookmark Manager | Program Overview | Upload Interface |
|---|---|---|
![]() |
![]() |
![]() |
Ensure you have the following installed:
- Node.js (v16 or newer)
- npm or yarn
- Java JDK 11
- Android Studio (for Android development)
- Xcode (for iOS development, macOS only)
- Clone the repository
git clone https://github.com/AstronDaniel/CampusVault.git
cd CampusVault- Install dependencies
npm install
# or
yarn install- Install iOS dependencies (macOS only)
cd ios && pod install && cd ..npm start
# or
yarn startnpm run android
# or
yarn androidnpm run ios
# or
yarn iosCampusVault/
βββ android/ # Android native code
βββ ios/ # iOS native code
βββ src/
β βββ assets/ # Images, fonts, etc.
β βββ components/ # Reusable components
β βββ screens/ # App screens
β βββ navigation/ # Navigation configuration
β βββ services/ # API services
β βββ utils/ # Helper functions
β βββ types/ # TypeScript definitions
βββ App.tsx # Root component
βββ package.json # Dependencies
- React Navigation β App navigation and routing
- React Native Reanimated β Smooth animations
- React Native Vector Icons β Icon library
- AsyncStorage β Local data persistence
- Axios β HTTP client for API calls
- TypeScript β Type safety
- ESLint & Prettier β Code quality
- React Native Debugger β Debugging tool
Create a .env file in the root directory:
API_BASE_URL=your_api_url_here
GOOGLE_API_KEY=your_google_api_key
ENVIRONMENT=developmentWe welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Add comments for complex logic
- Update documentation as needed
| Issue | Solution |
|---|---|
| Metro bundler won't start | Clear cache: npm start -- --reset-cache |
| Android build fails | Clean gradle: cd android && ./gradlew clean |
| iOS build fails | Clean Xcode build folder & reinstall pods |
| App crashes on start | Check native dependencies are properly linked |
This project is licensed under the MIT License - see the LICENSE file for details.
- University students worldwide for inspiration
- React Native community for amazing tools
- Contributors and testers
- Unsplash for placeholder images











