A comprehensive website for the School of Social Change, built with Next.js, TypeScript, and Tailwind CSS.
-
Homepage (Why We Exist) -
/- Hero section with mission statement
- Education challenge statistics
- Root causes analysis (fishbone diagram style)
- Our approach (A, B, C framework)
- Theory of change visualization
- Newsletter signup and social media links
-
About Us (Who We Are) -
/about- Founding aspiration
- Vision, mission, and values
- Goals and objectives
- Team sections (founder, board, advisory panel)
-
Programs (What We Do) -
/programs- Impart: Teacher training programs with signup forms
- Deetox: Counselling and coaching services
- Foresight: Career guidance platform (launching Jan 26, 2025)
- Policy Research: Knowledge products and research
- Citizens of Chennai: Civic movement participation
-
Get Involved -
/get-involved- Donation system with payment gateway setup
- Volunteer opportunities with application forms
- Career opportunities
- Contact information and enquiry forms
-
Blog -
/blog- Content management system for easy editing
- Categories and tags
- Featured posts
- Individual blog post pages
- Newsletter signup
- Content Management: JSON-based system for easy text editing without code changes
- Responsive Design: Mobile-first approach using Tailwind CSS
- Payment Integration: Ready for payment gateway integration (Razorpay, Stripe)
- Form Management: Reusable form components for signups and inquiries
- SEO Optimized: Meta tags, structured content, proper heading hierarchy
- Accessibility: WCAG compliant design and navigation
- Performance: Optimized images, lazy loading, efficient code splitting
- Node.js 18+
- npm or yarn
-
Clone the repository
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser
npm run build
npm startThe website uses a JSON-based content management system. See CONTENT_EDITING_GUIDE.md for detailed instructions.
Main content files:
content/site-content.json- All website contentcontent/blog-posts.json- Blog posts
What you can edit:
- All text content (titles, descriptions, paragraphs)
- Blog posts (add, edit, delete)
- Team member information
- Program descriptions
- Contact information
- Social media links
- Statistics and numbers
- Open
content/blog-posts.json - Add a new post object:
{
"id": 6,
"title": "Your Blog Post Title",
"excerpt": "Short description",
"content": "Full blog post content...",
"author": "Author Name",
"publishDate": "2025-01-20",
"category": "Programs",
"tags": ["education", "training"],
"featured": false
}- Primary Blue:
#2563eb - Purple:
#7c3aed - Green:
#059669 - Orange:
#ea580c - Gray shades for text and backgrounds
- Font: Poppins (Google Fonts)
- Weights: 300, 400, 500, 600, 700
- Navigation with mobile menu
- Footer with newsletter signup
- Reusable form components
- Payment buttons (ready for gateway integration)
- Blog post cards
- Statistics displays
- Team member cards
- Framework: Next.js 15.5.5
- Language: TypeScript
- Styling: Tailwind CSS 4.0
- Content: JSON-based CMS
- Icons: Heroicons (SVG)
- Deployment: Ready for Vercel, Netlify, or any static hosting
- Push code to GitHub
- Connect repository to Vercel
- Deploy automatically
- Build the project:
npm run build - Upload the
outfolder to your hosting provider
To enable donations and payments:
- Sign up for Razorpay or Stripe
- Add API keys to environment variables
- Update
components/PaymentButton.tsxwith real integration - Test thoroughly before going live
To handle form submissions:
- Set up a backend service (Node.js, Python, etc.) or use services like:
- Netlify Forms
- Formspree
- EmailJS
- Update form components to submit to your endpoint
To enable newsletter signup:
- Choose email service (Mailchimp, ConvertKit, etc.)
- Update footer component with API integration
- Set up email templates and automation
Add Google Analytics or similar:
- Create GA account
- Add tracking code to layout
- Set up conversion tracking for donations and signups
sosc/
├── app/ # Next.js app directory
│ ├── about/page.tsx # About page
│ ├── blog/ # Blog pages
│ ├── get-involved/page.tsx
│ ├── programs/page.tsx
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Homepage
│ └── globals.css # Global styles
├── components/ # Reusable components
│ ├── Navigation.tsx
│ ├── Footer.tsx
│ ├── ContactForm.tsx
│ └── PaymentButton.tsx
├── content/ # Content management
│ ├── site-content.json
│ └── blog-posts.json
├── public/ # Static assets
└── CONTENT_EDITING_GUIDE.md
- Fork the repository
- Create a feature branch
- Make changes
- Test thoroughly
- Submit a pull request
For technical questions or support:
- Check the content editing guide first
- Review this README
- Contact the development team
This project is proprietary to the School of Social Change (SOSC).
School of Social Change - Transforming Education for a Better Tomorrow