chiraag-kakar/sharenlearn
A Common File/Resource Sharing Platform for Students & Faculties built using HTML, CSS, Javascript, & Django.
Share N Learn
Overview
Share N Learn is a centralized, role-agnostic platform designed for students and faculty to securely upload, manage, and share academic resources. The platform supports a wide range of study materials and ensures controlled access for registered users.
Objectives
- Provide a secure and scalable content-sharing platform for academic institutions
- Reduce reliance on informal and fragmented channels such as social media
- Enable efficient dissemination of coursework-related resources
- Lay the groundwork for future expansion into a full-fledged academic e-library
Technology Stack
-
Frontend: HTML, CSS, JavaScript
-
Backend: Python, Django Framework
- Django Documentation: https://docs.djangoproject.com/en/3.1/
Getting Started
The following instructions will help you set up the project locally for development and testing.
Prerequisites (Windows)
- Python 3.7 or later
- Git
- A code editor (VS Code, Sublime Text, or Atom recommended)
Local Development Setup
1. Install Python
Download and install Python 3.7+ from the official site:
https://www.python.org/downloads/
Ensure “Add Python to PATH” is selected during installation.
Verify installation:
python --version2. Install Git
Download Git from:
https://git-scm.com/downloads
3. Fork and Clone the Repository
Fork the repository from GitHub, then clone your fork:
git clone https://github.com/<your-github-username>/sharenlearn.git
cd sharenlearnAdd the upstream repository:
git remote add upstream https://github.com/chiraag-kakar/sharenlearn.git4. Set Up a Virtual Environment
Install virtualenv:
pip install virtualenvCreate and activate the virtual environment:
virtualenv myvenv -p python3.7
myvenv\Scripts\activateDeactivate when needed:
deactivate5. Install Dependencies
Ensure the virtual environment is active, then run:
pip install -r requirements.txt6. Database Setup
Apply migrations:
python manage.py makemigrations
python manage.py migrateCreate a superuser for admin access:
python manage.py createsuperuser7. Run the Development Server
python manage.py runserverThe application will be available at:
http://127.0.0.1:8000/
Development Best Practices
- Keep your local
masterbranch in sync with upstream:
git pull upstream master- Always create a feature branch for changes:
git checkout -b <feature-branch-name>- Never commit directly to
master
Contributing
Contributions are welcome and appreciated.
Before contributing:
- Review the Contributing Guidelines
- Review the Code of Conduct
Contribution Workflow
git checkout -b <your-branch-name>
git add .
git commit -m "Descriptive commit message"
git push origin <your-branch-name>Open a Pull Request:
https://github.com/chiraag-kakar/sharenlearn/pulls
For major changes, please open an issue first to discuss the proposal.
Contributors
License
This project is licensed under the MIT License.
See the LICENSE file for details.
Maintained by Chiraag Kakar