All Projects → mdirolf → crosshare

mdirolf / crosshare

Licence: AGPL-3.0 License
Crosshare is a free and ad-free community for crossword constructors and solvers

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to crosshare

vue-crossword
Crossword puzzle builder VueJS application.
Stars: ✭ 54 (+31.71%)
Mutual labels:  crossword, crossword-generator
recrossable
crossword game with simplistic handwriting recognition and automatic generation of crosswords
Stars: ✭ 36 (-12.2%)
Mutual labels:  crossword, crossword-generator
pushtape-cassette
A lightweight framework for building static music apps. Make a cassette.json of your music and render a complete music site in seconds, featuring a persistent music player.
Stars: ✭ 22 (-46.34%)
Mutual labels:  webapp
WebRTC-Python-Open-Source-Application-for-1-to-1-video-chat
This Sample Python Application demonstrates the use of EnableX Platform Server APIs and JavaScript Toolkit to develop basic one to one video chat application. It allows developers to ramp up on app development by hosting on their own devices.
Stars: ✭ 12 (-70.73%)
Mutual labels:  webapp
HolyTips
A Collection of Notes, Checklists, Writeups on Bug Bounty Hunting and Web Application Security.
Stars: ✭ 1,210 (+2851.22%)
Mutual labels:  webapp
pyenvdiff-lib
Python environment comparison tool
Stars: ✭ 23 (-43.9%)
Mutual labels:  webapp
create-web-app
Select your project type and use any boilerplate to get started! a project where you dont need any manually boilerplate adding phase in your software development phases
Stars: ✭ 15 (-63.41%)
Mutual labels:  webapp
restaurant-finder-featureReviews
Build a Flask web application to help users retrieve key restaurant information and feature-based reviews (generated by applying market-basket model – Apriori algorithm and NLP on user reviews).
Stars: ✭ 21 (-48.78%)
Mutual labels:  webapp
pass-culture-app-native
Mobile and web application for pass Culture
Stars: ✭ 18 (-56.1%)
Mutual labels:  webapp
hasFlutterPassedReactNativeYet
🎯 A Dart Web App to compare ↔️ GitHub stars of Flutter and React Native
Stars: ✭ 17 (-58.54%)
Mutual labels:  webapp
snap2
Advanced tooling for puzzle hunts: grid/crossword parser, crossword tool to fill in the grid when entering answers, heavy-duty pattern/anagram solver, and more
Stars: ✭ 14 (-65.85%)
Mutual labels:  crossword
personal-skill-tree
Create your own RPG-like talent tree
Stars: ✭ 29 (-29.27%)
Mutual labels:  webapp
hr-time
High Resolution Time
Stars: ✭ 43 (+4.88%)
Mutual labels:  webapp
vctr
vctr is a self hosted short link management tool.
Stars: ✭ 14 (-65.85%)
Mutual labels:  webapp
fastify-example
Example webapp with Fastify
Stars: ✭ 18 (-56.1%)
Mutual labels:  webapp
auth0-rubyonrails-sample
Auth0 Integration Samples for Ruby on Rails Web Applications
Stars: ✭ 36 (-12.2%)
Mutual labels:  webapp
staticfuzz
Memories which vanish
Stars: ✭ 15 (-63.41%)
Mutual labels:  webapp
safenetwork-gitportal
p2p git portal - a decentralised alternative to github
Stars: ✭ 12 (-70.73%)
Mutual labels:  webapp
Python-TensorFlow-WebApp
Emerging Technologies Project - 4th Year 2017
Stars: ✭ 16 (-60.98%)
Mutual labels:  webapp
app
DeFi Blockchain desktop app for Windows, Linux and Mac.
Stars: ✭ 127 (+209.76%)
Mutual labels:  webapp

crosshare.org

Twitter

Crosshare is a free community for crossword constructors and solvers. Crosshare is written in TypeScript using Next.js, React, and firebase.

Use GitHub issues for bug reports and feature requests.

Contributing

Contributions are very much encouraged! It's recommended that you comment on (or create) the relevant issue before starting work so that we don't have multiple folks duplicating efforts simultaneously. Once you're happy with your changes please submit a pull request describing the change, any concerns, etc. PRs that include tests for the changed behavior are much more likely to be swiftly merged.

If you're looking for good issues to start out on check the good first issue tag.

Developing Locally

Windows

Most of these instructions are written for unix-like OSes - folks have had success using Windows Subsystem for Linux to follow them on Windows, though.

Set up a new firebase project

Visit http://console.firebase.google.com/, click "add project" or "create a project". Use whatever name you'd like. You don't need to enable google analytics.

Set up authentication

Click "Build" in the side bar, then "Authentication". Click "Get started". Click on the "Google" sign-in provider and toggle to "Enabled". Use anything you like for public facing name and enter your email as the project support email. Click "Save".

Set up the database

Click "Firestore Database" in the side bar. Click "Create database". Choose "start in production mode" and any storage location.

Download credentials

Click the little gear icon in the side bar and select "Project settings". Scroll to the "Your apps" section and click "</>" to create a web app. Register an app using whatever name you'd like. You don't need to set up hosting.

Copy the const firebaseConfig = {...} lines from the Add Firebase SDK dialog that pops up and paste them into a new file at app/firebaseConfig.ts. Change const firebaseConfig to export const firebaseConfig. These are the credentials used by the Crosshare frontend.

Now click "Continue to console" and click "Service accounts" at the top of the Project Settings page. Under "Firebase Admin SDK" click "Generate new private key". Save the resultant file as serviceAccountKey.json in the root of this repository. This is the credential file for the Crosshare server.

Install dependencies

Crosshare is currently deployed on node 14 - on Fedora it's:

$ sudo dnf module install nodejs:14

We use yarn for package management:

$ sudo npm install --global yarn

Install dependencies:

$ cd app
$ yarn

Now you can run crosshare locally

While still in the app/ directory, connect to your firebase project:

$ npx firebase login
$ npx firebase use --add

Now deploy the firestore rules and indexes:

$ npx firebase deploy --only firestore

Compile the i18n definitions:

$ yarn compileI18n

Then start the server:

$ yarn dev

You should now be able to view Crosshare locally at http://localhost:3000

Note: The indexes you created with firebase deploy --only firestore can take a while to finish building. You might get related errors when viewing the site until they are done.

Wordlists

When running the constructor locally you'll get an error trying to download the word database. You can follow the instructions in the deployment guide to build and upload a version to your firebase app. (TODO - we should probably provide the wordlist (maybe not the clue db) pregenerated for developers, this is a lot of work)

Once the wordlist has been updated you need to update your cloud storage CORS settings so it can be downloaded in the browser. This stackoverflow post gives a step-by-step run down.

Running Tests

You'll need Java installed to run the firebase emulators. Once you've done the steps above to set up local development do:

$ yarn test

Credits

See the contributors on this repository and crosshare.org/donate.

License

Crosshare is licensed under the GNU Affero General Public License 3.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].