Skip to content

tsg-asya/student-portal

Repository files navigation

logo

Student Portal 📚

Open Source Student Portal for Small Institutions!

GitHub Pipenv locked Python version GitHub issues GitHub forks

Website Image

⚡ Features

🎯 Multiple User Authentication - Start with either a Teacher or a Student Account

🎯 Course Creation and Enrollment - Teacher's Create Courses and Student Enroll and are able to access information

🎯 Notices/Results Creation - Seperate Staff only access to CRUD Notices and Results

🎯 Quizzes - Teacher's Create Multiple Choice Quizzes and Students can take them

🎯 Clean Tailwind UI - Responsive design made from Tailwind CSS

🎯 Better Admin Interface - Staff and Admin are utilized the old Django Jet Admin rebooted for Django 3

Many more features that you can explore yourself

🚀 Setup

These instructions will get you a copy of the project up and running on your local machine for deployement and development.

You'll need Git and Python 3.8+ installed on your local computer.

You can also use the Zip file and extract the folder.

🔧 How To Use

From your command line, clone and deploy:

# Clone this repository
$ git clone https://github.com/tsg-asya/portal-backend

# Go into the repository
$ cd portal-backend

# Install dependencies
# if Pipenv available ? run
$ pipenv install

# Else
$ pip install -r requirements.txt

📨 Environment Setup

# You'll need some environment variables
touch .env
# replace string with a random string
SECRET_KEY={string}
DEBUG=True

🛠️ Django Setup

After installing the requirements, we'll need to setup some Django commands.

Perform database migration:

python manage.py check
python manage.py migrate

Create Admin Account

This is the admin account and only this user can login.

python manage.py createsuperuser
# follow instruction

Create Staff Account

You can create a group inside admin and make new staff users members in it. Not giving permissions by default is a security feature.

Run Development Server

python manage.py runserver

Navigate to http://localhost:8000/ endpoint in your browser.

Admin endpoint is at http://127.0.0.1:8000/admin/

Important

The Readme is a work in progress, although the app is deployed.

📄 License

This project is licensed under the GPL3 License - see the LICENSE.md file for details

Designed & Developed with 💙 by Animesh Singh