Check out: https://pulsecampus.asiradnan.com/
Built with the tools and technologies:
PulseCampus is a modern web app designed for colleges to manage departments, student clubs, announcements, and forums.
- Backend: Python, Django, Celery, Redis
- Frontend: HTML, CSS, JavaScript, Django Templates
- Database: PostgreSQL (Amazon RDS)
- Testing: Python Unittest, Django Test, Coverage
- CI/CD: GitHub Actions for Continuous Integration and Deployment
- Hosting: Amazon EC2, Gunicorn, Nginx
- Media: Amazon S3
- Async Task: Celery, Redis
- Email: Amazon SES
- Principal can create and manage departments, classes
- Teachers can create, manage and supervise Clubs
- Teachers can manage class captain and club memberships
- Principal and Teachers can make announcements
- Students can post and comment queries and concerns in forum
- Verified users can log in
- Signup and Login, Logout
- Email verification
- Password reset
- Departments with teachers and room number
- Classes with class captain, room number and students
- Principal can create, edit and delete departments and classes
- Teacher as supervisor
- Students as members
- Different club positions managed by Club Supervisor
- Teachers can create, edit and delete clubs
- Announcements with files attached
- Forum with posts, comments, upvotes and downvotes
- Edit and delete own posts and comments
- Profile view with user information and profile picture
- Update profile information and profile picture
- Change password and account deletion
└── PulseCampus/
├── .github
│ └── workflows
├── PulseCampus
│ ├── __init__.py
│ ├── asgi.py
│ ├── celery.py
│ ├── mixins.py
│ ├── settings.py
│ ├── settings_test.py
│ ├── tests.py
│ ├── urls.py
│ ├── validators.py
│ ├── views.py
│ └── wsgi.py
├── README.md
├── classes
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── tests
│ ├── urls.py
│ └── views.py
├── clubs
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ ├── models.py
│ ├── tests
│ ├── urls.py
│ └── views.py
├── community
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ ├── models.py
│ ├── tests
│ ├── urls.py
│ └── views.py
├── departments
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── tests
│ ├── urls.py
│ └── views.py
├── manage.py
├── notice
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ ├── models.py
│ ├── tests
│ ├── urls.py
│ └── views.py
├── requirements.txt
├── static
│ └── college.png
├── templates
│ ├── 404.html
│ ├── admin
│ ├── auth_base.html
│ ├── base.html
│ ├── classes
│ ├── clubs
│ ├── community
│ ├── departments
│ ├── homepage.html
│ ├── notice
│ └── users
└── users
├── __init__.py
├── admin.py
├── apps.py
├── forms.py
├── migrations
├── models.py
├── signals.py
├── tasks.py
├── tests
├── urls.py
└── views.py
Before getting started with PulseCampus, ensure your runtime environment meets the following requirements:
- Programming Language: Python
- Package Manager: Pip
Install PulseCampus using one of the following methods:
- Clone the PulseCampus repository:
git clone https://github.com/asiradnan/PulseCampus
- Navigate to the project directory:
cd PulseCampus
- Install the project dependencies:
pip install -r requirements.txt
- Run the project:
python manage.py runserver
Run the test suite using the following command:
coverage run manage.py test --settings=PulseCampus.settings_test
This project is protected under the MIT License. For more details, refer to the LICENSE file.