57 lines
2.3 KiB
Markdown
57 lines
2.3 KiB
Markdown
# [Upcomming] Exams
|
|
A Exam tracker that is selfhostable, does not rely on any third party services and is open source.
|
|
|
|

|
|
|
|
Built using RJ-WEB, React router and Tailwind CSS, this little project is fun to develop and is a great way to learn new technologies. It is also a great way to keep track of your exams and never miss a deadline again.
|
|
|
|
## Features
|
|
- Add exams with a name, date and description
|
|
- View upcoming exams in a list
|
|
- Edit and delete exams
|
|
- Upload Study materials for each exam
|
|
- View past exams and track grades
|
|
|
|
## Installation (🐳Docker)
|
|
1. Clone the repository
|
|
```bash
|
|
git clone https://gitea.reversed.dev/space/exams
|
|
cd exams
|
|
```
|
|
|
|
Mini-Warning:
|
|
> Uploads rely on minio, which is not included in the docker-compose file. You will need to set up minio separately and configure the environment variables accordingly. If you are smart enough, add a minio instance into the docker-compose.yml file. Thanks for reading!
|
|
|
|
2. Configure the environment variables in the `.env` file
|
|
```env
|
|
COOKIE_DOMAIN=localhost # Where is your domain hosted? This is SUPER important!!! If you are running this locally, set it to localhost. If you are running this on a server, set it to your domain name. I do NOT think you can use ip addresses here, you're on your own.
|
|
DB_CONN_STRING=YOURURL # Get a Mongo DB instance running and put the connection string here. You can use a local instance or a cloud service like MongoDB Atlas.
|
|
PORT=8000
|
|
|
|
CDN_KEY=FunnyKey
|
|
CDN_SECRET=FunnySecret
|
|
CDN_BUCKET=exams
|
|
CDN_HOST=YOURHOST.com # either an ip address or a domain. Whichever you have setup.
|
|
CDN_PORT=443
|
|
CDN_USE_SSL=true # Got a ssl certificate? Set this to true, otherwise set it to false.
|
|
```
|
|
|
|
3. Start the application using Docker Compose
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
4. Access the application at `http://localhost:8000` (or your configured domain)
|
|
|
|
---
|
|
|
|
## Upcoming Features
|
|
- Homework Tracker?
|
|
- Create & Share Classes with other users on the same instance
|
|
- Admin panel for the first created user to manage users and exams (and instance settings like registration)
|
|
|
|
## Contributing
|
|
Contributions are welcome! If you have any ideas for new features or improvements, feel free to open an issue or submit a pull request.
|
|
|
|
## License
|
|
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. |