A comprehensive academic portfolio management system built with Next.js and Django. This application helps students organize their coursework, track grades, create flashcards, and manage their academic materials.
- Create and organize academic portfolios by course
- Track progress and achievements
- Share portfolios with peers and professors
- Public and private portfolio options
- Upload and organize study materials (PDFs, documents, images)
- Tag and categorize materials by course and topic
- Search and filter materials efficiently
- Generate flashcards from uploaded materials
- Create custom flashcard decks
- Spaced repetition learning algorithm
- Study statistics and progress tracking
- Import flashcards from materials
- Track grades across multiple courses
- Calculate GPA automatically
- Visualize grade trends over time
- Set grade goals and targets
- Manage deadlines and important dates
- Import events from syllabi
- Set reminders for assignments and exams
- Track academic milestones
- Browse and purchase study materials from other students
- Sell your own study materials
- Rate and review materials
- Community-driven content
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Shadcn/ui - Modern UI component library
- Lucide React - Beautiful icons
- Django - Python web framework
- Django REST Framework - API development
- PostgreSQL - Database (configurable)
- Session Authentication - Cookie-based auth
- Node.js 18+
- Python 3.9+
- Git
- Clone the repository:
git clone <repository-url>
cd blueprint-system- Install dependencies:
npm install- Start the development server:
npm run dev- Open http://localhost:3000 in your browser.
- Navigate to the backend directory:
cd HackWestTX-Complete-Backend- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Run migrations:
python manage.py migrate- Create a superuser:
python manage.py createsuperuser- Start the development server:
python manage.py runserverThe API will be available at http://localhost:8000.
blueprint-system/
βββ app/ # Next.js app directory
β βββ dashboard/ # Dashboard pages
β βββ materials/ # Materials library pages
β βββ flashcards/ # Flashcard pages
β βββ grades/ # Grade tracking pages
β βββ marketplace/ # Marketplace pages
βββ components/ # React components
β βββ auth/ # Authentication components
β βββ dashboard/ # Dashboard components
β βββ materials/ # Materials components
β βββ flashcards/ # Flashcard components
β βββ ui/ # Reusable UI components
βββ lib/ # Utility functions
βββ public/ # Static assets
HackWestTX-Complete-Backend/
βββ api/ # Django API app
βββ hackwesttx/ # Django project settings
βββ manage.py # Django management script
- User authentication and registration
- Dashboard with portfolio overview
- Materials library with upload functionality
- Flashcard creation and study system
- Grade tracking and visualization
- Academic calendar and deadline management
- Profile management
- Responsive design for all devices
- Marketplace functionality
- Advanced search and filtering
- Collaborative features
- Mobile app development
POST /api/auth/register/- User registrationPOST /api/auth/login/- User loginPOST /api/auth/logout/- User logoutGET /api/auth/me/- Get current user
GET /api/materials/- List materialsPOST /api/materials/- Upload materialGET /api/materials/{id}/- Get material detailsDELETE /api/materials/{id}/- Delete material
GET /api/flashcards/- List flashcard decksPOST /api/flashcards/- Create flashcard deckGET /api/flashcards/{id}/- Get deck detailsPOST /api/flashcards/{id}/study/- Record study session
GET /api/grades/- List gradesPOST /api/grades/- Add gradePUT /api/grades/{id}/- Update gradeDELETE /api/grades/{id}/- Delete grade
- Fork the repository
- Create a 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for HackWestTX 2024
- Inspired by the need for better academic organization tools
- Thanks to all contributors and the open-source community
If you have any questions or need help, please:
- Open an issue on GitHub
- Contact the development team
- Check the documentation
Made with β€οΈ for students, by students