Welcome to ThoughtSpot! We're excited that you're interested in contributing to our project. ThoughtSpot is a modern blogging platform where users can create, read, update, and delete blog posts. Our goal is to provide a seamless and intuitive blogging experience for writers and readers alike.
ThoughtSpot is a blogging web application built with React.js for the frontend and Hono.js for the backend, with PostgreSQL as the database. It features user authentication, a publish endpoint for creating new blog posts, and a responsive design optimized for various devices.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/ThoughtSpot.git
- Navigate to the project directory:
cd ThoughtSpot
- Create a copy of .env.example and name the file
.env
- Set up Postgres DATABASE_URL in .env file. You can get a free PostgreSQL connection string from Aiven.io.
- Create a copy of wrangler.sample.toml and name the file
warngler.toml
- Set up Prisma connection pool DATABASE_URL in wrangler.toml file. You can get this for free from Prisma.
- Set up JWT Secret JWT_SECRET in wrangler.toml file. This can be any value.
cd backend
npm install
npm run prisma:migrate
npx prisma generate
npm run dev
Note: wrangler.toml is the environment configuration file for a serverless backend. .env is used by Prisma for connection pooling. Ensure you configure both environment files accordingly.
- Navigate into the frontend directory using
cd frontend
npm install
npm run dev
- Create a new branch:
git checkout -b your-branch-name
- Make your changes
- Test your changes thoroughly
- Commit your changes:
git commit -m "Description of changes"
- Push to your fork:
git push origin your-branch-name
- Go to the original ThoughtSpot repository on GitHub
- Click on "New Pull Request"
- Select your fork and the branch you created
- Fill out the pull request template with details about your changes
- Submit the pull request
- Follow the existing code style and conventions
- Write clear, commented, and testable code
- Update documentation as necessary
- Test your changes thoroughly before submitting a pull request
- Frontend enhancements (React.js)
- Backend improvements (Hono.js)
- Database optimizations (PostgreSQL)
- User authentication and authorization
- New blog features
- Performance improvements
- Documentation updates
Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
If you have any questions or need further clarification, please feel free open an issue or tag the project maintainers.
Thank you for contributing to ThoughtSpot! Your efforts help make our blogging platform even better.