A Django-based web application for the Machine Learning Society at Rochester Institute of Technology (RIT). This platform allows students to manage profiles, join teams, participate in events, and access an admin dashboard for content management.
- User Authentication: Signup, login via OTP or magic links, profile management.
- Teams: Create, join, and manage teams with roles (members, leaders, creators).
- Events: View and register for upcoming workshops, hackathons, and networking events.
- Admin Dashboard: Manage users, teams, events, and landing page content.
- Responsive Design: Modern UI with dark theme and neural network animations.
- Backend: Django (Python web framework)
- Database: SQLite (default; can be configured for PostgreSQL/MySQL)
- Frontend: HTML, CSS, JavaScript (with static assets)
- Email: SMTP for OTP and magic link authentication
- Python 3.8+
- Django 5.0+ (install via pip)
- Git
- Clone the repository:
git clone https://github.com/mmoukayed/MLS-site.git
cd MLS-site
- Set up a virtual environment (recommended):
python -m venv venv
source venv/bin/activate
# On Windows: venv\Scripts\activate
Install dependencies:
pip install django django-countries python-dotenv
-
Configure environment variables:
Set
SECRET_KEY,EMAIL_HOST_PASSWORD, and other secrets. -
Run migrations:
-
Create a superuser (for admin access):
- Start the development server:
python manage.py runserver
-
Access at http://127.0.0.1:8000/.
Admin panel: Visit http://127.0.0.1:8000/admin/ with superuser credentials.
MLS_site: Project settings, URLs, WSGI/ASGI configs.accounts: User authentication, models (Member, Major), views, emails.website: Core app with models (Team, Event), views, URLs, templates.templates: HTML templates (base, dashboards, etc.). static: CSS, JS, assets.uploaded_media: User-uploaded files (events, etc.).
/: Home page/dashboard/: Student dashboard (authenticated)/teams/: Teams page/events/: Events page/profile/: User profile/admin/: Django admin/auth/: Authentication endpoints
- Set
DEBUGtoFalseinsettings.py. (Only if external static server is configured otherwise leave on)` - Set
SITE_URLto the full site url that the server will be hosted on (eg: https://mlssociety.com). - Configure the variables in the
.envfile. - Delete existing
db.sqlite3file (If exists) and runpython manage.py runserveronce to create a new db file. - Stop that server and run in sequence:
python manage.py makemigrationsandpython manage.py migrate. - Run
python manage.py runserveragain to start the server and login with your RIT email to create your account. - Once created go into the
db.sqlite3file and go to theaccounts_membertable and find your user and change theis_superuserandis_staffvalues to1. - Next reload the home page and their should be an option to click on "Admin Dashboard", click on it and click on the "Landing Page" tab and click "switch to django admin" which will redirect you to the Django admin portal.
- First, go to the sites tab and create your site by setting the name to anything and the address to the same thing you put earlier in
SITE_URL(Your root base url) and press SAVE. - Next, go to Social Applications and create a new social application, set these fields with your credentials, the rest leave blank:
name: Set this togoogle.Client ID: Set this to your google client ID.Secret Key: Set this to your google client secret.Sites: Click on the site we made earlier and press the arrow to add it to the empty box.
- Fork the repository.
- Create a feature branch: git checkout -b feature-name.
- Make changes and run tests (if any).
- Commit:
git commit -m "Description". - Push and create a pull request.
This project is proprietary to the RIT Machine Learning Society. Contact the maintainers for usage permissions.
For issues, contact the development team or open an issue in the repository. Ensure to follow RIT's code of conduct.