SheInspires "Like a butterfly, each idea flows through her, inspiring vibrant connections to help others soar"
- Table of Contents
- Mission Statement
- Features
- Platform Summary: Inspiring Role Model Network
- SHE Inspires Project Endpoints
- Technical Implementation
- Target Audience
- Back-end Implementation
- API Specification
- Object Definitions
- Front-end Implementation
The purpose of this website is to create a platform for women and non-binary folk to visit and be inspired by role models who are successful in the tech industry, as well as to be a landing pad for companies looking to connect with potential speakers / experts / powerhouses as a way of ensuring more diverse panels / perspectives at events and conferences. Users create an account, either as a role model (looking to inspire) or as a user (looking to be inspired) and have the option to observe, research, make contact with role models within the community and attend events that are promoted within. Users can also invite others to sign up as a role model (for those who may not feel confident doing it on their own). This encourages a more inclusive, diverse and open network of people within a particular demographically dominant industry. Above all, this website is designed to ✨ inspire✨ .
Features the Website Will Have:
- Main Page with Role Model Cards ◦ Description: The landing page will display cards featuring various role models, including a brief overview (name, profession, and a tagline). ◦ Purpose: To give users a quick snapshot of inspiring individuals and encourage exploration.
- User Sign-Up and Log-In Functionality ◦ Description: Users can create an account with basic information (name, email, password). ◦ Purpose: To allow users to personalise their experience, save favourite role models, and send messages.
- Role Model Sign-Up and Profile Creation ◦ Description: Individuals can sign up as role models, create a detailed profile (name, bio, achievements, journey, etc.), and share their stories. ◦ Purpose: To enable inspiring individuals to share their journey and insights with others.
- Role Model Card Details ◦ Description: Clicking on a role model card will display detailed information about their background, journey, and achievements. ◦ Purpose: To provide users with more context and depth about each role model’s story.
- Invite Feature ◦ Description: Users can invite someone they admire (via a form) to become a role model on the platform. ◦ Purpose: To expand the pool of inspiring individuals and foster a collaborative and inspiring community.
- Messaging Functionality ◦ Description: Users can send messages directly to role models through a dedicated form. ◦ Purpose: To foster meaningful conversations and mentorship connections.
- Topic Dropdown in Message Form ◦ Description: The message form will include a dropdown menu allowing users to select the topic of their message (e.g., Career Advice, Overcoming Challenges, etc.). ◦ Purpose: To help role models better understand and respond to messages efficiently.
-
Main Page with Role Model Cards
- Display diverse role models with brief profiles
- Encourages user exploration and inspiration
-
User Authentication
- Sign-up and log-in functionality
- Personalized user experience
- Save favorite role models
- Enable messaging capabilities
-
Role Model Profiles
- Detailed profile creation
- Share personal journeys and achievements
- Showcase inspiring stories
-
Interactive Engagement
- Detailed role model card information
- Invite feature for adding new role models
- Direct messaging functionality
- Topic-specific message dropdown
Creating a collaborative platform that connects inspiring individuals, facilitating mentorship, knowledge sharing, and personal growth through meaningful interactions.
- Browse inspiring role models
- Explore detailed personal stories
- Connect through targeted messaging
- Contribute to community by inviting potential role models
Role Type | Access Level | Permissions |
---|---|---|
Superuser/Admin | Full Access | - Log in/out - Manage role model profiles - Manage user profiles - Create and manage other users - Archive, edit, or delete profiles |
Role Model Users | Intermediate Access | - Sign up - Create profile - Log in/out - Approve, archive, and edit own profile - View and edit personal details - View general user profiles - Receive emails |
General Users | Limited Access | - Sign up - Log in/out - Create profile - View role model profiles - Submit forms to reach out to role models - Submit forms to invite potential role models - Edit and archive own profile - Search role models by industry, skills, locations |
Guest Users | Restricted Access | - View main page - View limited role model cards - Sign up to become general user - Search role models by industry, skills, locations |
Endpoint | HTTP Method | Purpose | Access | Key Functionalities |
---|---|---|---|---|
Main Page (/ ) |
GET | Display role model cards | Public | - Show name, profession, tagline - Mobile and PC responsive - Accessible design - High contrast |
Sign-Up (/register ) |
POST | Create user account | Public | - Collect name, email, password - Simple form design - Email validation - Password strength check |
Log-In (/login ) |
POST | User authentication | Public | - Generate user session/token - Validate credentials - Display error messages |
Role Model Creation (/role-model ) |
POST | Create/update profile | Logged-in Users | - Detailed profile input - Edit existing profile - Role model specific fields |
Role Model Profile (/rolemodel/{id} ) |
GET | View profile details | Public/Logged-in | - Limited info for guests - Full details for logged-in users |
Invite Role Model (/invite ) |
POST | Invite new role models | Logged-in Users | - Submit invitee name and email - Encourage platform growth |
Messaging (/message ) |
POST | Send messages to role models | Logged-in Users | - Direct communication - Message to specific role model |
- Users can follow role models
- Users can have interaction ( like role model updates), Like button
- Slideshow on first page arrange based on stats
- Search component / page • component Ability to edit what has been posted • Ability to update users on their careers (events they're attending / panels they're on / talks they're doing / new certs etc) • Interactive elements -Pop ups • Dynamic timeline • Multiple photos • Video implementation • Gifs -Location implementation -Revolving banner linked to ‘trending’ RM profiles (based on likes)*** -Ability to create events within the website -Motivational pop ups -Invite link for RM’s to register (to encourage more RM’s to register)
Back-End:
- Django / DRF API
- Python Front-End:
- React / JavaScript
- HTML/CSS Git & Deployment:
- Heroku
- GitHub This application will be deployed to Heroku - the DRF DB will be deployed separately to the React application for integration (and testing) purposes. We will also use Insomnia to ensure API endpoints are working smoothly (we will utilise a local and deployed environment in Insomnia).
Primary Users: Young women and non-binary people seeking inspiration from role models. Secondary Users: Companies and event organisers looking for keynote/conference speakers. Role Models: Individuals who wish to share their personal journeys and inspire others.
HTTP Method | URL | Purpose | Request Body | Successful Response Code | Authentication and Authorization |
---|---|---|---|---|---|
POST | /login | User login | {"username": "string", "password": "string"} | 200 | Token-based |
POST | /logout | End active session | {"username": "string", "password": "string"} | 200 | Logged-in users |
POST | /register | Create new user account | {"username": "string", "fullName": "string", "email": "string", "password": "string", "password2": "string", "userType": "string"} | 201 | Open |
PUT | /profile/{id} | Edit user profile | {"username": "string", "fullName": "string", "email": "string", "avatar": "string", "bio": "string", "socials": "string"} | 200 | User or Admin |
GET | /profile/{id} | View user profile | N/A | 200 | Open |
DELETE | /user/{id} | Delete user | N/A | 204 | Admin |
POST | /role-model | Create role model profile | Detailed profile information | 201 | Logged-in users |
GET | /role-model/{id} | Get role model details | N/A | 200 | Open (limited info for guests) |
POST | /invite | Invite new role models | {"fullName": "string", "email": "string", "industry": "string"} | 201 | Logged-in users |
POST | /message | Send message to role model | {"senderId": "integer", "roleModelId": "integer", "message": "string", "topic": "string"} | 201 | Logged-in users |
GET | /search | Search role models | N/A | 200 | Open |
Field | Data Type | Required |
---|---|---|
User_ID (PK) | integer | Yes |
Username | string | Yes |
FullName | string | Yes |
string | Yes | |
Password | string | Yes |
UserType | string | Yes |
Avatar | string | No |
Bio | string | No |
SocialLinks | string | No |
Field | Data Type | Required |
---|---|---|
RoleModel_ID (PK) | integer | Yes |
UserID (FK) | integer | Yes |
CurrentRole | string | Yes |
Organization | string | Yes |
Industry | string | Yes |
Journey | text | Yes |
Skills | array | Yes |
Achievements | array | No |
ContactPreference | string | No |
Field | Data Type | Required |
---|---|---|
Message_ID (PK) | integer | Yes |
SenderID (FK) | integer | Yes |
RoleModelID (FK) | integer | Yes |
MessageContent | string | Yes |
Topic | string | Yes |
Timestamp | datetime | Yes |
Status | string | No |
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Openans:ital,wght@0,300..800;1,300..800&display=swap');