Logo Lanfrica

tshepisofrominnostation/book-smart

Domaine:

education

Type de record:

software
Créateur:
tsh
Hôte:
📚 Book-Smart — B2B SaaS textbook tracking platform for South African township schools. Supabase + Netlify Serverless. # 📚 Book-Smart — School Inventory Management Platform > *Know exactly where every book is. Every single one.* **Built by Tshepiso Freddy Thosago | Rem0Beg Solutions** --- ## 🌐 Live Demo **👉 booksmart-platform.netlify.… --- ## 💡 What Book-Smart Solves Primary schools in South Africa run textbook allocation from paper registers. The result: - Books go missing with no record of who had them - Year-end returns are chaotic - No data for ordering next year's books Book-Smart is a lightweight web platform purpose-built for township and government primary schools — simple enough for a school secretary to use on day one. --- ## 🏗️ Architecture ``` Static Frontend (HTML + CSS + JS) - Hosted on Netlify CDN (loads in { const { barcode } = JSON.parse(event.body); // 1. Look up barcode in Supabase const { data: book } = await supabase .from('book_copies') .select('*, books(*), students(*)') .eq('barcode', barcode) .single(); if (!book) return { statusCode: 404, body: 'Not found' }; // 2. Toggle status const newStatus = book.status === 'available' ? 'issued' : 'available'; await supabase.from('book_copies').update({ status: newStatus }).eq('id', book.id); // 3. Log the transaction await supabase.from('transactions').insert({ book_copy_id: book.id, action: newStatus }); return { statusCode: 200, body: JSON.stringify({ book, newStatus }) }; }; ``` --- ## 🗄️ Database (Supabase / PostgreSQL) ```sql schools (id, name, emis_number, province, contact_email) books (id, school_id, title, isbn, subject, grade, replacement_cost) book_copies (id, book_id, barcode, status, condition) students (id, school_id, name, grade, parent_phone) transactions (id, book_copy_id, student_id, action, created_at) leads (id, school_name, contact_name, email, created_at) ``` --- ## 💡 Interview Q&A **"Why Netlify Functions instead of a full Express server?"** > For a school platform that might process 200 scans on a Monday morning and nothing …