A comprehensive fullstack school management system built with Angular and Go (Gin framework) for managing students, teachers, classes, and academic operations.
- Student Management: Register, update, and track student information
- Teacher Management: Manage teacher profiles and assignments
- Class Management: Create and organize classes and schedules
- Attendance Tracking: Record and monitor student attendance
- Grade Management: Input and manage student grades and assessments
- User Authentication: Secure login system with role-based access control
- Dashboard: Interactive dashboard with analytics and insights
- Reports: Generate academic and administrative reports
- Framework: Angular 17+
- UI Components: PrimeNg / TailwindCss
- State Management: RxJS
- HTTP Client: Angular HttpClient
- Routing: Angular Router
- Language: Go 1.21+
- Framework: Gin
- Database: PostgreSQL
- ORM: GORM
- Authentication: JWT
- API Documentation: Swagger
Before you begin, ensure you have the following installed:
- Node.js (v18+ recommended)
- npm or yarn
- Go (v1.21 or higher)
- PostgreSQL
- Git
git clone https://github.com/yourusername/school-management-system.git
cd school-management-system- Navigate to the server directory:
cd server- Install Go dependencies:
go mod download- Create a
.envfile in the server directory:
DB_HOST=localhost
DB_PORT=5432
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=school_db
JWT_SECRET=your_secret_key
PORT=8080- Run database migrations:
go run main.go migrate- Start the server:
go run main.goThe server will start at http://localhost:8080
- Navigate to the client directory:
cd client- Install dependencies:
npm install- Create
environment.tsfile insrc/environments/:
export const environment = {
production: false,
apiUrl: 'http://localhost:8080/api'
};- Start the development server:
ng serveThe application will be available at http://localhost:4200