General Questions
What is Campus?
What is Campus?
Campus is a prototype academic social network that connects students, educators, researchers, and administrators. It provides a curated space for study groups, discussion forums, events, and educational resources - bridging the gap between formal learning management systems and traditional social networks.
Who developed Campus?
Who developed Campus?
Campus was developed as part of the Projeto Integrador course by a team of four students: Mateus G. P. Campos, Ray G. dos S. Martins, Kauê M. de Araujo, and Kevin L. R. de Candia.
Is Campus open source?
Is Campus open source?
Yes! Campus is available on GitHub at github.com/mgpcampos/campus. The project is marked as private in package.json but the code is accessible through the repository.
Installation & Setup
What are the prerequisites to run Campus?
What are the prerequisites to run Campus?
You need two main tools:
- Bun - A modern JavaScript runtime (alternative to Node.js)
- PocketBase - A lightweight, open-source Backend-as-a-Service
How do I set up the database?
How do I set up the database?
Campus uses PocketBase with automatic migrations. After downloading the PocketBase executable:
- Place it in the project root
- Run
./pocketbase migrateto apply database migrations - Run
./pocketbase serveto start the backend server
pb_migrations/ will automatically create the necessary database structure.What port does Campus run on?
What port does Campus run on?
The frontend development server runs on
http://localhost:5173 by default. PocketBase typically runs on port 8090. Both servers must be running simultaneously for the application to work.Can I use Node.js instead of Bun?
Can I use Node.js instead of Bun?
While Campus is designed to use Bun as the JavaScript runtime, you may be able to use Node.js with some configuration changes. However, Bun is recommended for optimal performance and compatibility.
Features
What are the main features of Campus?
What are the main features of Campus?
Campus offers:
- Social Interaction: Post feed, comments, likes, and media sharing
- Spaces & Groups: Hierarchical community organization
- Calendar: Event and deadline visualization
- Events: Personal event creation and management
- Materials: Repository for sharing educational resources
- Academic Profiles: Details about education, research, and interests
- User Profiles: Customization including dark mode
How are Spaces and Groups organized?
How are Spaces and Groups organized?
Campus uses a hierarchical structure where Spaces are the top-level containers, and Groups are thematic subdivisions within those Spaces. This allows for organized, purpose-driven communities.
Does Campus support dark mode?
Does Campus support dark mode?
Yes! Campus includes dark mode support as part of the user profile preferences.
Technical Questions
What technologies does Campus use?
What technologies does Campus use?
Campus is built with:
- Frontend: Svelte 5 + SvelteKit
- Styling: Tailwind CSS v4
- Backend/Database: PocketBase (SQLite-based)
- Runtime: Bun
- Components: Bits UI + Lucide icons
- Validation: Zod + Superforms
Where is the project structure documented?
Where is the project structure documented?
The main project structure includes:
src/lib/- Reusable components, utilities, and storessrc/routes/- SvelteKit file-based routingpb_migrations/- PocketBase database migrationspb_hooks/- Server-side PocketBase hooksstatic/- Public static files
How do I run code quality checks?
How do I run code quality checks?
Campus uses Biome for linting and formatting. Available scripts:
bun run biome:check- Check and fix issuesbun run biome:format- Format codebun run biome:lint- Lint codebun run svelte:check- Type-check Svelte components
Troubleshooting
The application won't start. What should I check?
The application won't start. What should I check?
Verify that:
- Both Bun and PocketBase are installed correctly
- You’ve run
bun installto install dependencies - PocketBase is running (
./pocketbase serve) - The frontend dev server is running (
bun run dev) - No other applications are using ports 5173 or 8090
Where can I get help if my question isn't answered here?
Where can I get help if my question isn't answered here?
Check the Getting Support page for information on how to report issues on GitHub or contact the project team.