GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - VansRouges/Edtech-Saas-backend

BranchesTags
Open more actions menu

Latest commit

 

History

26 Commits
26 Commits

Folders and files

NameName
Last commit message
Last commit date
.idx
.idx
 
 
dist
dist
 
 
src
src
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
tsconfig.json
tsconfig.json
 
 
vercel.json
vercel.json
 
 

Repository files navigation

EdTech SaaS - Backend

Overview

EdTech SaaS is a cloud-based platform designed to facilitate communication between schools, teachers, and parents. The backend of this application provides API endpoints for user authentication, school management, student records, and assignments. This system ensures a seamless experience for schools by managing user roles and access levels using role-based authentication.

Tech Stack

  • Node.js - Backend runtime
  • Express.js - Web framework
  • Appwrite - Backend-as-a-Service (BaaS) for authentication and data storage
  • Permit.io - Role-based access control (RBAC)
  • Swagger - API documentation

Setup Instructions

Prerequisites

Ensure you have the following installed:

  • Node.js (v16+)
  • NPM or Yarn
  • Docker (if containerizing the backend)

Installation

  1. Clone the repository:
    git clone https://github.com/VansRouges/Edtech-Saas-backend
    cd edtech-backend
  2. Install dependencies:
    npm install
  3. Create a .env file and configure the required environment variables:
    APPWRITE_ENDPOINT=<Appwrite API Endpoint>
    APPWRITE_PROJECT_ID=<Your Appwrite Project ID>
    APPWRITE_API_KEY=<Your Appwrite API Key>
    JWT_SECRET=<Your JWT Secret>
    PERMIT_IO_API_KEY=<Your Permit.io API Key>
  4. Start the development server:
    npm run dev

API Documentation

Below are the available API endpoints for the EdTech SaaS backend:

Authentication

Method Endpoint Description
POST /signup Registers a new user
POST /login Authenticates a user and returns a JWT

Profile Management

Method Endpoint Description
GET /getProfileByEmail?email={email} Retrieves user profile by email
POST /createProfile Creates a user profile after signup

School Management

Method Endpoint Description
POST /createSchool Creates a new school with admin privileges
GET /fetchSchoolsByUserId?userId={id} Fetches schools linked to a user
GET /getAllSchoolsAndSchoolCode Retrieves all schools and their unique codes
PUT /updateSchool/{schoolId} Updates school information

Student Management

Method Endpoint Description
POST /createStudents Adds a new student to a school
GET /getAllStudents Retrieves all student records

Assignment Management

Method Endpoint Description
POST /createAssignments Creates a new assignment for a class
GET /getAllAssignments Fetches all assignments

Contribution Guidelines

We welcome contributions from the community! Follow these steps to contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature-branch)
  3. Commit changes (git commit -m 'Add new feature')
  4. Push to your forked repository (git push origin feature-branch)
  5. Open a Pull Request

License

This project is licensed under the MIT License. Feel free to use and modify it as needed.


For any questions or support, reach out to the maintainers at [[email protected]].

About

edtech-saas-backend.vercel.app

Resources

Readme
Activity

Stars

0 stars

Watchers

1 watching

Forks

2 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.