A community platform for solo game developers to connect, showcase their work, and participate in game jams.
Live at SoloDevelopment.org
SoloDevelopment is a quiet space for developers building games mostly by themselves. We provide a supportive community where solo devs can share their work, get honest feedback, and feel less alone in their journey.
To help solo game developers succeed by connecting them with other solo developers and giving their work fair visibility. We're not trying to revolutionize anything - just creating a space where people making games alone can find community and support.
- Game Showcase - Browse and discover games created by community members
- Game Jams - Monthly and seasonal jams to help start or finish projects
- User Profiles - Create an account to track your projects and connect with others
- Discord & Reddit Integration - Links to active community spaces
- Resources - Curated tools and guides for solo developers
- React 19 with TypeScript
- React Router for navigation
- Axios for API communication
- CSS modules for styling
- Node.js with Express 5
- MongoDB with Mongoose
- JWT authentication with httpOnly cookies
- Resend for email services
- Express Rate Limiting & Helmet for security
- Node.js (v16 or higher)
- MongoDB instance
- Resend API key for email functionality
- Clone the repository
git clone https://github.com/CharlesKleeven/solodevelopment.git
cd solodevelopment- Install dependencies
# Install root dependencies
npm install
# Install client dependencies
cd client
npm install
# Install server dependencies
cd ../server
npm install- Set up environment variables
Create a .env file in the server directory:
PORT=3001
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
RESEND_API_KEY=your_resend_api_key
CLIENT_URL=http://localhost:3000- Run the development servers
# From root directory
npm run devThis will start both the client (port 3000) and server (port 3001) concurrently.
solodevelopment/
├── client/ # React frontend
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── context/ # React context providers
│ │ ├── data/ # Static data (games, etc)
│ │ ├── hooks/ # Custom React hooks
│ │ ├── pages/ # Page components
│ │ ├── services/ # API service layer
│ │ └── styles/ # Global styles
│ └── package.json
├── server/ # Express backend
│ ├── src/
│ │ ├── config/ # Configuration files
│ │ ├── controllers/# Route controllers
│ │ ├── middleware/ # Express middleware
│ │ ├── models/ # Mongoose models
│ │ ├── routes/ # API routes
│ │ └── services/ # Business logic
│ └── package.json
└── package.json # Root package.json
We welcome contributions! Whether it's bug fixes, new features, or improvements to documentation, every contribution helps make SoloDevelopment better for the community.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style and conventions
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation as needed
Check out our Issues page for:
- Bug reports
- Feature requests
- Documentation improvements
- Good first issues for newcomers
Feel free to open new issues for bugs you find or features you'd like to see!
See our open issues for a list of proposed features and enhancements.
- Never commit
.envfiles or secrets - Report security vulnerabilities privately (see SECURITY.md)
- All user passwords are hashed with bcrypt
- Sessions use httpOnly cookies for protection
This project is open source and available under the MIT License.
Built by and for the solo game development community.