Skip to content

Longhorn-Developers/Longhorn-Studies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Longhorn Studies

Buid Badges

  • Expo
  • TypeScript
  • React Native
  • NativeWind

Table of Contents

Concise Description

Longhorn Studies is a mobile app intended to help UT students find new study spots and form study groups for assignments, projects, or exams.

Overview

Problem Statement:

UT's campus is large with many buildings, so it can be daunting to explore new locations to study. It can also be challenging to find peers to collaborate with when studying for exams or other course content.

Solution:

Longhorn Studies provides a centralized, student-friendly platform that helps UT students discover and share new study spots on campus. It also makes it easy to connect with classmates by forming or joining study groups based on courses, exams, or assignments.

Key Features and Benefits

  • Share study spots with other students
  • Rate other study spots shared by students
  • Form study groups with classmates

Target Audience

  • UT Students

Getting Started

Prerequisites

  • Node.js (LTS version)
  • pnpm package manager
  • Expo CLI (pnpm add -g expo-cli)
  • Supabase account and project set up

Installation steps

git clone https://github.com/your-repo/longhorn-studies.git
cd longhorn-studies
pnpm install
pnpm dev

Configuration requirements

  • Environment Variables: Create a .env file at the root and include:
SUPABASE_URL=<your-supabase-url>
SUPABASE_ANON_KEY=<your-supabase-anon-key>
GOOGLE_MAPS_API_KEY=<your-google-maps-api-key>
  • Ensure Supabase authentication is enabled.

Architecture

  • Platform/Toolchain: Expo
  • UI/Moible Framework: React Native
  • Programming Language: TypeScript
  • Styling: NativeWind
  • Backend: Supabase
  • User Authentication: Supabase
  • Database: Supabase

Key components

  • User profiles
  • Study spots/rating system
  • Forming/joining study groups

Design principles

  • User-Centric: Prioritize ease of use for students
  • Scalability: Ensure the backend can handle increasing user activity
  • Performance-Optimized: Minimize load times and API calls
  • Security-First: Protect user data and authentication processes

Development Workflow

Branch naming conventions + Conventional Commits

We follow the Conventional Commits specification for commit messages. This ensures a consistent commit history and enables automated versioning and changelog generation.

Branch Naming Conventions

<type>/<short-description>

Examples:

  • feature/{feature-name}
  • fix/{bug-description}
  • docs/{documentation-change}

Commit Message

Follow this structure for commit messages

<type>(<scope>): <subject>

Where: type has one of the following:

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation changes
  • style: Code formatting only
  • refactor: Code changes without behavior change
  • test: Adding or updating tests
  • chore: Build process or tooling updates

PR process

  • Fork or branch from main
  • Create a PR with a clear description
  • Ensure checks pass (build, lint, test)
  • Request review before merging

Testing expectations

  • Unit tests for UI components
  • Integration tests for feature flows

Contribution guidelines & Code of conduct reference

We welcome all to contribute! Please carefully read our Contributing Guide and Code of Conduct before getting started. All contributors must adhere to our Code of Conduct

Available Scripts

  • pnpm dev # Start dev server
  • pnpm build # Build project for production
  • pnpm preview # Preview production build locally
  • pnpm lint # Lint codebase
  • pnpm format # Format code using Prettier

Development commands

  • pnpm dev # Start the development server
  • pnpm start # Run Expo in interactive mode

Building commands

  • pnpm build

Testing commands

  • pnpm test

Linting & formatting commands

  • pnpm lint # Lint the codebase
  • pnpm format # Format the code using Prettier

Project Structure

/longhorn-studies
│── /src
│   ├── /components  # Reusable UI components
│   ├── /screens     # App screens
│   ├── /hooks       # Custom hooks
│   ├── /services    # API and database interactions
│── /assets          # Images, icons, and static files
│── app.json         # Expo configuration
│── package.json     # Dependencies and scripts
│── .env.example     # Example environment variables
│── README.md        # Project documentation

Directory organization

  • TBD

Key files and their purposes

  • TBD

Deployment

Environment information

  • TBD

Deployment process

  • TBD

Configuration details

  • TBD

Open Source License

  • TBD

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •