A modern and comprehensive web application for managing student notes, attendance, and user authentication.
Check out our live demo at https://5qd-resolute-tesla.circumeo-apps.net/
- User registration with email verification
- Secure login system
- Password reset functionality
- Email-based OTP verification
- Create, edit, and delete personal notes
- Make notes public or private
- Share notes with other users
- Organize notes by categories
- Rich text editor support
- Track attendance for 2nd year students
- View attendance records by date
- Generate attendance reports
- Mark attendance status (Present/Absent)
- Django - Python web framework
- PostgreSQL - Database
- Django REST Framework - API
- JWT Authentication
- Email verification
- Environment variables for sensitive data
- Clone the repository:
git clone https://github.com/yourusername/tobify.git
cd tobify
- Create and activate virtual environment:
python -m venv env
source env/bin/activate # On Windows: env\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Configure environment variables:
- Copy
.env.example
to.env
- Update the following variables:
# Database Configuration PGDATABASE=your_database_name PGUSER=your_database_user PGPASSWORD=your_database_password PGHOST=your_database_host PGPORT=your_database_port # Email Configuration SMTP_SERVER=smtp.gmail.com SMTP_PORT=465 SENDER_EMAIL=your_email@gmail.com SENDER_PASSWORD=your_app_password
- Setup the database:
python manage.py migrate
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
tobify/
├── 🔐 auth_app/ # Authentication application
│ ├── views.py # Authentication views
│ └── utils.py # Email utilities
├── 📝 notes_app/ # Notes management application
│ └── views.py # Notes CRUD operations
├── 📊 get_attendence/ # Attendance tracking application
│ └── views.py # Attendance management
└── ⚙️ tobify/ # Project configuration
├── settings.py # Project settings
└── urls.py # URL routing
POST /api/auth/register/
- User registrationPOST /api/auth/login/
- User loginPOST /api/auth/verify-email/
- Email verification
GET /api/notes/
- List all notesPOST /api/notes/
- Create new notePUT /api/notes/<id>/
- Update noteDELETE /api/notes/<id>/
- Delete notePATCH /api/notes/<id>/visibility/
- Toggle note visibility
GET /api/attendance/
- View attendance recordsPOST /api/attendance/
- Mark attendanceGET /api/attendance/report/
- Generate attendance report
- Fork the repository
- Create your 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
This project is licensed under the MIT License - see the LICENSE file for details.
For support:
- 📧 Email: support@tobify.com
- 🐛 Open an issue in the GitHub repository
- 🌐 Visit our live demo