Connecting project owners with contributors
oss.now is a modern platform designed to bridge the gap between open source project maintainers and contributors. Whether you're looking to showcase your project, find contributors with specific skills, or discover exciting projects to contribute to, oss.now provides the tools and community to make it happen.
- Project Discovery - Browse and filter open source projects by category, technology, and activity
- GitHub & GitLab Integration - Seamlessly connect your repositories and showcase real-time stats
- Project Launches - Announce major releases and updates to the community
- Early Submissions - Submit your project early for increased visibility
- Contributor Matching - Find contributors with the skills your project needs
- Frontend: Next.js 15 (App Router) + React 19 + TypeScript
- Styling: Tailwind CSS + shadcn/ui components
- Backend: tRPC + Node.js
- Database: PostgreSQL (via Neon) + DrizzleORM
- Caching: Redis (Upstash)
- Authentication: Better-Auth with GitHub & GitLab OAuth
- Analytics: Databuddy - repo
- Deployment: Vercel
This is a monorepo managed with Turbo:
ossdotnow/
├── apps/
│ └── web/ # Next.js web application
├── packages/
│ ├── api/ # tRPC API routes
│ ├── auth/ # Authentication logic
│ ├── db/ # Database schema and migrations
│ ├── env/ # Environment variable validation
│ └── ui/ # Shared UI components
└── turbo.json # Turbo configuration
-
Clone the repository
git clone https://github.com/ossdotnow/ossdotnow.git cd ossdotnow -
Install dependencies
bun install
-
Set up environment variables
Make a copy of
.env.exampleand replace values with your own. -
Start the database services
bun docker:up
-
Run database migrations
bun db:migrate
-
Seed the database (optional)
bun db:seed
-
Start the development server
bun dev
The application will be available at
http://localhost:3000
bun dev- Start the development server with hot reloadbun build- Build the application for productionbun start- Start the production server
bun docker:up- Start PostgreSQL and Redis containersbun docker:down- Stop the containersbun docker:clean- Stop containers and remove volumesbun db:generate- Generate database migrationsbun db:migrate- Apply database migrationsbun db:push- Push schema changes directly (development only)bun db:studio- Open Drizzle Studio for database managementbun db:seed- Seed the database with sample databun db:make-all-admin- Grant admin privileges to all users (development only)
bun lint- Run ESLintbun format- Format code with Prettierbun typecheck- Run TypeScript type checking
- Go to GitHub Developer Settings
- Click "New OAuth App"
- Fill in the details:
- Application name:
oss.now (Development) - Homepage URL:
http://localhost:3000 - Authorization callback URL:
http://localhost:3000/api/auth/callback/github
- Application name:
- Copy the Client ID and Client Secret to your
.envfile
- Go to GitLab Applications
- Create a new application with the following:
- Name:
oss.now (Development) - Redirect URI:
http://localhost:3000/api/auth/callback/gitlab - Scopes:
api,read_api,read_user,read_repository,openid,profile,email
- Name:
- Copy the Application ID (Client ID) and Secret to your
.envfile
We love contributions! Please read our Contributing Guide to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes.
- Fork the repository
- Create a new branch from
dev(notmain)git checkout -b feature/your-feature-name
- Make your changes
- Run tests and ensure code quality
bun lint bun typecheck
- Commit your changes with descriptive messages
- Push to your fork and create a Pull Request
- Always branch off from
dev, notmain - Make sure no other Next.js apps are running locally as it may interfere with OAuth flows
- The application is currently in development mode on production to prevent public access
The application is designed to be deployed on Vercel:
- Fork this repository
- Import the project in Vercel
- Configure environment variables in Vercel dashboard
- Deploy!
For production deployments, ensure you:
- Update OAuth callback URLs to your production domain
- Use production database and Redis instances
- Set
VERCEL_ENV=production
- Next.js 15 with App Router for server-side rendering and routing
- React 19 for UI components
- TanStack Query for data fetching and caching
- Tailwind CSS for styling
- shadcn/ui for consistent UI components
- tRPC for type-safe API endpoints
- DrizzleORM for database queries and migrations
- Better-Auth for authentication
- Upstash Redis for rate limiting
- Users and authentication tables
- Projects with categories and metadata
- Submissions and waitlist
- Project launches and comments
- Voting and reporting systems
-
OAuth redirect issues
- Ensure no other Next.js apps are running on port 3000
- Check that callback URLs match exactly
-
Database connection errors
- Make sure Docker is running
- Check that PostgreSQL is accessible on port 5432
- Verify DATABASE_URL is correct
-
Environment variable errors
- All required variables must be set
- Run
bun devto see validation errors
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Next.js
- UI components from shadcn/ui
- Database provided and powered by Neon
- Hosting on Vercel
-
