A unified web application for Spicy Spanish language school, featuring a public-facing website and an administrative dashboard for managing students, tutors, scheduling, payments, and course content.
This is a monorepo containing both frontend and backend code:
/frontend- Next.js application/backend- Nest.js REST API
- Node.js (v16 or later)
- npm
- PostgreSQL database
- Clone the repository
- Install dependencies for both frontend and backend:
# Frontend dependencies
cd frontend
npm install
# Backend dependencies
cd ../backend
npm install- Configure environment variables:
- Copy
.env.local.exampleto.env.localin the frontend directory - Copy
.env.exampleto.envin the backend directory - Update the values in both files with your specific configuration
- Copy
cd frontend
npm run devThe frontend will be available at http://localhost:3000
cd backend
npm run start:devThe backend API will be available at http://localhost:3001
-
User Authentication
- Role-based access control (Admin, Tutor, Student)
- Student self-registration
- Tutor invitation system
-
Scheduling System
- Dynamic calendar with timezone support
- Tutor availability management
- Google Calendar integration
-
Payment Processing
- Stripe integration for credit card payments
- Solana blockchain integration for crypto payments
- Transaction records and invoicing
-
Course Management
- Course assignments and tracking
- Curriculum building tools
- Student progress tracking
-
Email Notifications
- Automated email system for various events
- Customizable email templates
- Next.js
- TypeScript
- Tailwind CSS
- React Calendar
- Stripe.js
- Solana Web3.js
- Nest.js
- TypeScript
- PostgreSQL
- Mikro-ORM
- JWT Authentication
- Stripe API
- Solana Web3.js
- Nodemailer
- Handlebars
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE file for details.