A modern web application for university students to upload, organize, and share their lecture notes. Built with React, TypeScript, Tailwind CSS, and Supabase.
- 📚 Upload and organize lecture notes by university, course, and professor
- 🔍 Powerful search functionality for easy note retrieval
- 👥 Collaboration tools for shared study materials
- 🔒 Private and public sharing options
- 📱 Mobile-friendly responsive design
- 🎓 University and course management
- 👤 User profiles and authentication
- 📊 Analytics and trending notes
- 🏷️ Tag-based organization
- 💬 Comments and discussions
- ⭐ Rating system for quality content
- React 18
- TypeScript
- Tailwind CSS
- Supabase (Authentication & Database)
- Vite
- React Router
- Lucide Icons
-
Clone the repository:
git clone https://github.com/Pshyco-c/University-note-sharing-platform.git cd university-note-sharing-platform
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory with your Supabase credentials:VITE_SUPABASE_URL=your-supabase-url VITE_SUPABASE_ANON_KEY=your-supabase-anon-key
-
Start the development server:
npm run dev
This project is configured for seamless deployment on Vercel. Here's how to deploy:
- Push your code to a GitHub repository
- Visit Vercel and sign up/login
- Click "New Project"
- Import your GitHub repository
- Configure the project:
- Framework Preset: Vite
- Build Command:
npm run build
- Output Directory:
dist
- Install Command:
npm install
- Add environment variables:
VITE_SUPABASE_URL=your-supabase-url VITE_SUPABASE_ANON_KEY=your-supabase-anon-key VITE_APP_NAME=StudyNotes VITE_APP_DESCRIPTION="Share and discover university lecture notes"
- Click "Deploy"
-
Install Vercel CLI:
npm install -g vercel
-
Login to Vercel:
vercel login
-
Deploy from your project directory:
vercel
-
Configure Supabase:
- Go to your Supabase dashboard
- Navigate to Authentication → URL Configuration
- Add your Vercel domain (e.g.,
https://your-app.vercel.app
) to:- Site URL
- Additional Redirect URLs
-
Test your deployment:
- Verify authentication flows
- Test file uploads
- Check environment variables
- Confirm routing works correctly
src/
├── components/ # Reusable UI components
├── contexts/ # React context providers
├── lib/ # Utility functions and configurations
├── pages/ # Main application pages
└── types/ # TypeScript type definitions
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
If you find this project helpful, please consider giving it a ⭐️ on GitHub!
This project is licensed under the MIT License - see the LICENSE file for details.
Project Link: https://github.com/Pshyco-c/University-note-sharing-platform