memcode
memcode copied to clipboard
Spaced-repetition: for coders and scientists.
Memcode
Flashcards for coders and scientists. Open-source, free for all.
Links
Website: memcode.com
Patreon: patreon.com/memcode
Email: [email protected]
Twitter: twitter.com/memcodeapp
Alternative.to: alternativeto.net/software/memcode/about
Contributing
First of all - you are very welcome to contribute, Memcode is a joint effort.
Feel free to ask questions/propose features in github issues, or join our developer Slack (please write to [email protected] to request access).
Note: if you'd like to use online development environment, see Gitpod.md. The steps below are for the local setup.
Create a database postgres user with a password.
- Install PostgreSQL.
- Go to postgres console:
psql postgres. - Create a
postgresuser with password:CREATE ROLE postgres WITH LOGIN PASSWORD 'postgres';. - Give the user a permission to create dbs, own all extensions, etc.:
ALTER ROLE postgres with superuser;.
Copypaste environment variables.
- Either copy the example environment file with
cp env.example.js env.js, and insert the required values yourself, - Or write to [email protected] and I will send you a ready
env.jsfile. In either case, you will need to insert your ownDB_USERandDB_PASSWORDthat you created in the previous step.
Install the needed libraries.
- Install npm.
- Run
npm install
Set up the database.
- Create a new development database 'memcode':
make db-reset. This will create the raw database for you - schema, a few necessary database rows, and nothing else. If you would like a bigger database to have something to work with, please write to [email protected], and I will create a development dump for you.
Start code compilers and server.
- Run
make allin your terminal. This will start:
make backend-webpack(compiles the backend code on every change)make frontend-webpack(compiles the frontend code on every change)make start(starts the node server) for you.
You can also run these separately if you wish to see the individual output.
- Go to http://localhost:3000, and enjoy the development!