GrowTeens is a youth empowerment initiative focused on equipping African teenagers with digital, entrepreneurial, and leadership skills to prepare them for the future of work. Our mission is to bridge the skills gap among African youth and empower them to become active contributors to the global economy through hands-on training, mentorship programs, and entrepreneurial support.
GrowTeens aims to impact over 100,000 African teenagers within the next five years by providing training in digital literacy, coding, entrepreneurship, and leadership. Our platform integrates online learning with in-person workshops and mentorship to equip youth with both theoretical knowledge and practical skills.
- User Registration & Authentication:
Secure signup and login for teenagers, mentors, sponsors, and school representatives. - Program Management:
Comprehensive listings of training programs (digital literacy, coding bootcamps, entrepreneurship, etc.), scheduling, and course materials. - Mentorship & Networking:
Connect teenagers with industry professionals for guidance and support. - Sponsorship & Funding:
Manage sponsorships and funding opportunities. - Payment Processing:
Handle subscriptions, event fees, and other financial transactions. - Responsive Design:
Modern, responsive UI built with Next.js, Tailwind CSS, and Chakra UI. - Robust Backend:
RESTful API built with Express and Prisma ORM connecting to a PostgreSQL database.
- Frontend:
- Next.js (using the new App Directory)
- Tailwind CSS
- Chakra UI
- Backend:
- Node.js & Express
- PostgreSQL
- Prisma ORM
The project is organized as a monorepo with separate directories for the backend and frontend:
growteens/ ├── server/ │ ├── prisma/ │ │ └── schema.prisma │ ├── index.js │ ├── package.json │ └── .env └── client/ ├── app/ │ ├── layout.tsx │ ├── page.tsx │ ├── register/ │ │ └── page.tsx │ └── programs/ │ └── page.tsx ├── public/ ├── styles/ ├── package.json └── .env.local
- Node.js: v16 or higher
- npm: or yarn
- PostgreSQL: (Supabase for development)
-
Navigate to the server directory:
cd server
-
Install dependencies:
npm install
-
Configure Environment Variables:
DATABASE_URL="postgresql://your_username:your_password@your_host:5432/growteens" PORT=8080 NODE_ENV=development
-
Run Prisma Migrations:
npx prisma generate npx prisma migrate dev --name init
-
Start the Backend Server:
npm run dev
-
Navigate to the client directory:
cd client
-
Install dependencies:
npm install
-
Configure Environment Variables:
NEXT_PUBLIC_API_URL="http://localhost:3000/api"
-
Start the Frontend Server:
npm run dev
- The backend will run on http://localhost:8080 by default or another specified port.
- The frontend will run on http://localhost:3000 by default or another specified port.
- Make sure both the backend and frontend servers are running to fully test the application.